async.waterfall和async.series有什么不同?

nodejsasynchronous模块: https : //github.com/caolan/async提供了2个类似的方法, async.waterfallasync.series

他们有什么区别?

看来, async.waterfall允许每个函数将其结果传递到下一个函数,而async.series将所有结果传递到最终callback。 在更高层次上, async.waterfall将是数据pipe道(“给定2,乘以3,加2,除以17”),而async.series将用于必须按顺序执行的离散任务,但是另外分开。

这两个函数传递每个函数的返回值到下一个,那么当完成时将调用主callback,如果发生错误,则传递其错误。

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

async.waterfall()正在处理action that relies on the previous outcome

async.series()正在处理一个想要在最后see all the result at the end的动作