Waterfall es una función de la librería async.js que nos permite ejecutar una serie de funciones, cada una pasa su resultado a la siguiente función en el array.
async.waterfall([
function(callback){
var str = "b";
callback(null, str);
},
function(arg1, callback){
arg1 += "l"
callback(null, arg1);
},
function(arg2, callback){
arg2 += "o"
callback(null, arg2);
},
function(arg3, callback){
arg3 += "g"
callback(null, arg3);
},
], function (err, result) {
console.log(result); // "blog"
});