#
异步完成Node 库以各种方式处理异步性。最常见的模式是“错误优先回调”,但您也可能遇到流、承诺、事件发射器、子进程或可观察对象。Gulp 任务会标准化所有这些类型的异步性。
#
信号任务完成当从任务返回流、承诺、事件发射器、子进程或可观察对象时,成功或错误会告知 gulp 是否继续或结束。如果任务出错,gulp 将立即结束并显示该错误。
使用 series()
组合任务时,错误将结束组合,不会执行更多任务。使用 parallel()
组合任务时,错误将结束组合,但其他并行任务可能会或可能不会完成。
#
返回流#
返回承诺#
返回事件发射器#
返回子进程#
返回一个可观察对象#
使用错误优先回调如果从任务中没有返回任何内容,则必须使用错误优先回调来表示完成。回调将作为唯一参数传递给您的任务 - 在下面的示例中命名为cb()
。
要指示gulp���使用错误优先回调的任务中发生错误,请将其作为唯一参数调用Error
。
但是,您通常会将此回调传递给另一个API,而不是自己调用它。
#
不支持同步任务不再支持同步任务。它们经常导致难以调试的细微错误,比如忘记从任务中返回流。
当您看到"您是否忘记信号异步完成?"警告时,没有使用上述任何技术。您需要使用错误优先回调或返回流、Promise、事件发射器、子进程或可观察对象来解决问题。
#
使用async/await如果没有使用前面提到的任何选项,您可以将任务定义为一个async
函数,它将您的任务包装在一个Promise中。这使您可以使用await
同步地处理Promise并使用其他同步代码。