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

 

posted @ 2017-03-05 13:54  三尺剑  阅读(6293)  评论(0编辑  收藏  举报