nodejs async parallel 函数传参数,执行不固定项函数


  • 最新解决办法

用到了javascript 闭包的特性,之前那样做太zz了。。没有理解到parallel方法的入参就是一个函数而已

function test1(a){
    return function(cb){
        cb();
    }
}
function test2(b){
    return function(cb){
        cb();
    }
}

//再调用parallel方法传入对应的参数


  • 下面是原文

用到了bind函数,来进行绑定参数。
可以用来进行同步执行不定项函数,同时进行传参数

var async = require('async');
function test1(a,cb){
    cb(null,a);
}
function test2(b,cb){
    cb(null,b);
}


var a = 'a';
var b = 'b';
var funArr = {};
var abind = test1.bind(null,a);
var bbind = test2.bind(null,b);

funArr['nameA']=abind;
funArr['nameB']=bbind;

async.parallel(funArr,function(er,v){
    console.log(v);
    //{ nameA: 'a', nameB: 'b' }
})

你可能感兴趣的:(node.js,nodejs)