Run an array of functions in series, each passing its results to the next function (waterfall)
npm install run-waterfall
tasks array of functions in series, each passing their results to the next in
the array. However, if any of the
tasks pass an error to their own callback, the next
function is not executed, and the main
callback is immediately called with the error.
tasks- An array of functions to run, each function is passed a
callback(err, result1, result2, ...)it must call on completion. The first argument is an error (which can be
null) and any further arguments will be passed as arguments in order to the next task.
callback(err, [results])- An optional callback to run once all the functions have completed. This will be passed the results of the last task's callback.
var waterfall = require'run-waterfall'waterfallcallbacknull 'one' 'two'// arg1 now equals 'one' and arg2 now equals 'two'callbacknull 'three'// arg1 now equals 'three'callbacknull 'done' 'wohoo'// result1 now equals 'done'// result2 now equals 'wohoo'
This module is basically equavalent to
async.waterfall, but it's
handy to just have the functions you need instead of the kitchen sink. Modularity!
Works great in the browser with browserify!
MIT. Copyright (c) Feross Aboukhadijeh.
Image credit: Waterfall designed by Luis Prado