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);
    });
  • 相关阅读:
    5.5 数据库约束
    5.4 数据库数据类型
    5.3 数据 库,表 操作
    5.2 数据库引擎
    5.1 数据库安装
    4.6 并发编程/IO模型
    4.5 协程
    4.4 线程
    在线编辑器 引入方法
    MySQL查看版本号的五种方式介绍1111111
  • 原文地址:https://www.cnblogs.com/guanhuohuo/p/12533648.html
Copyright © 2011-2022 走看看