async.waterfall和async.series有什么不同?
nodejsasynchronous模块: https : //github.com/caolan/async提供了2个类似的方法, async.waterfall
和async.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
的动作