nodejs async.parallel 参数接收

async.parallel是流程控制里边io并行的控制方法,如果async.parallel里边没有io操作,那么里边的函数执行都是串行的。

这里讨论一下参数接收的问题,上代码:

var async = require('async');

function process1(cb){
        var tx1 = {address:'dadada'};
        var total1 = 1;
        return cb(null,tx1,total1);
        
}

function process2(cb){
        var tx2 = {address:"qweweee"};
        var total2 = 2;
        return cb(null,tx2,total2);
}

async.parallel([
        function(done){
                process1(done);
        },
        function(done){
                process2(done);
        }
],function(err,tx,total){
        console.log(tx[0][0])
        console.log(tx[0][1]);
        console.log(tx[1][0]);
        console.log(tx[1][1]);
        //console.log(total[0]);
        //console.log(total[1]);        
});

可以看到process1和process2都有三个参数,我们接收的时候是不是也是用三个参数去接收呢?其实不是,除了第一个err之外,只需要一个接受参数就可以了,如果有多余的,那么他是以数组的形式来展示的,上面代码的运行结果是:

{ address: 'dadada' }
1
{ address: 'qweweee' }
2

送你几颗比特币玩玩:

https://www.coincola.app/acts/red-packet?type=invitation&packet_id=gBbVudr7GwuTF3r71ihUq8vDiuiNdAgL&lang=zh-CN