异步编程 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

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); });