异步编程 互动版

waterfall(tasks, [callback])


waterfall和series函数有很多相似之处,都是按顺序依次执行一组函数,不同之处是waterfall每个函数产生的值,都将传给下一个函数,而series则没有这个功能,示例如下:

async.waterfall([  
    function(callback){ 
      //task1 
      callback(null,1);       
    },function(data,callback){
      //task1 
      callback(null,2); 
    } 
],function(err,results){  
    console.log(results); 
});

另外需要注意的是waterfall的tasks参数只能是数组类型。

请将示例中task1回调函数的第一个参数传入一个非空值,看一看输出的results的值是什么。
var async = require('async');
async.waterfall([
function(callback){ callback('test',1);
},function(data,callback){ callback(null,2); } ],function(err,results){
console.log(results); });