Javascript nodejs是否将相同的参数异步到函数数组?

Javascript nodejs是否将相同的参数异步到函数数组?,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,如何将相同的参数应用于函数数组 作品: async.parallel([func(arg, arg2), func2(arg, arg2)], function() { next(); }); 不过,数组中有不确定的/各种各样的函数,所以我不确定应该将哪些函数发送到并行方法 在各种文件中,我正在构建函数数组: funcArray.push(func2) 因此,我有这样一个数组: [func, func2] 我只想做: async.parallel(funcArray, function

如何将相同的参数应用于函数数组

作品:

async.parallel([func(arg, arg2), func2(arg, arg2)],
function() {
  next();
});
不过,数组中有不确定的/各种各样的函数,所以我不确定应该将哪些函数发送到并行方法

在各种文件中,我正在构建函数数组:

funcArray.push(func2)
因此,我有这样一个数组:

[func, func2]
我只想做:

async.parallel(funcArray,
function() {
  next();
});
并将所有相同的参数应用于所有函数。我该怎么做?谢谢

最后我自己写了:

  _.each(obj, function (func) {
    func(req, res, function () {
      i++
      if (i == objSize) {
        next()
      }
    })
  })      

未经测试,但这应该有效:

var args      = [ arg, arg2 ]
  , funcCalls = []
;

for(var i = 0; i < funcArray.length; i++) {
  funcCalls.push(function() {
    funcArray[i].apply(this, args); }
  );
}

async.parallel(funcCalls, next);
最后,您可以使用地图功能将其收紧,例如:


…但下一个遇到您的代码的人可能会杀了您。

只需使用async.apply向函数添加参数即可。提到
for(var i = 0; i < funcArray.length; i++) {
  funcCalls.push(function() {
    funcArray[i](arg, arg2); }
  );
}
async.parallel(_.map(funcArray,
  function(func) { return function() { func(arg, arg2); } }
), next);