• 【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);
    });
  • 相关阅读:
    angularjs的$filter使用
    ngResource提交json数据如何带参数
    angularjs可交互的directive
    AngularJS $http配置为form data 提交
    让AngularJS的$http 服务像jQuery.ajax()一样工作
    mysql修改密码
    四种常见的 POST 提交数据方式
    跨域API
    cmd复制文件
    git查看日志
  • 原文地址:https://www.cnblogs.com/guanhuohuo/p/12533648.html
Copyright © 2020-2023  润新知