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
时间: 2024-12-24 13:31:08