zoukankan      html  css  js  c++  java
  • 【nodejs】async

    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);
    });
  • 相关阅读:
    C语言I博客作业08
    C语言I博客作业07
    第十周助教总结
    关于Dev-c++运行时与Windows不兼容问题
    C语言I博客作业06
    第九周助教总结
    C语言I作业07
    C语言I博客作业06
    C语言I作业05

  • 原文地址:https://www.cnblogs.com/guanhuohuo/p/12533648.html
Copyright © 2011-2022 走看看