async.waterfall 和 async.series 有什么区别

nodejs 异步模块:https://github.com/caolan/async 提供了 2 个类似的方法,以及 .async.waterfallasync.series

它们之间有什么区别?


答案 1

它似乎允许每个函数将其结果传递给下一个函数,同时将所有结果传递给最终回调。在更高的级别上,将用于数据管道(“给定2,乘以3,加2,除以17”),而将用于必须按顺序执行但其他方面分开的离散任务。async.waterfallasync.seriesasync.waterfallasync.series


答案 2

这两个函数都将每个函数的返回值传递给下一个函数,然后在完成后将调用主回调,如果发生错误,则传递其错误。

不同之处在于,一旦序列完成,就会将所有结果传递给主回调。 将仅将最后调用的函数的结果传递给主回调。async.series()async.waterfall()