【nodejs】async

来源:互联网 发布:大数据及云计算前景 编辑:程序博客网 时间:2024/06/05 18:47

async.mapSeries使用

在处理数据时,使用for 循环进行遍历处理数据,但是发现跳出callback时,所有数据为空,数据处理起来特别麻烦,如:

getBugData4WReport(function (data,err) {    console.log(data);    for(var i = 0;i<data.length; i++){        getDeveloperBugData(data[i].project,data[i].name,function (data) {            dataResult.push(data);            console.log("dataResult",dataResult)        });     callback(data);   //1    }     callback(data);   //2})

若在2处调用时,data值为undefined

下面为异步调用,async.mapSeries

getBugData4WReport(function (data,err) {    async.mapSeries(data, (item, done) => {            console.log(item);            getDeveloperBugData(item.project,item.name,function (data1) {                console.log(data1);                done(null, data1);            });        }, (err, data2) => {            console.log(data2);    })})

datagetBugData4WReport 函数回调要处理的数据,若使用for循环等处理数据,在循环为无法继承处理该数据

done 为 函数处理的数据,将处理好的数组数据传给data2

多个回调函数的值

async.series({    one: function(callback){        callback(null, 1);    },    two: function(callback){        callback(null, 2);    }},function(err, results) {    console.log(results);});
0 0
原创粉丝点击