我正在尝试调用一组由参数标识的异步函数。
示例: callFunctions("A,C");
将同时调用objFns["A"]
和objFns["C"]
。
我遇到的问题arrayParams[i]
是当内部函数最终由async.parallel()
. 这意味着i == arrayParams.length
which of course crash sinceobjFns[arrayParams.length]
是未定义的。帮助我指出正确的方向将不胜感激。
objFns = {};
objFns["A"] = function (callback) {...}
objFns["B"] = function (callback) {...}
objFns["C"] = function (callback) {...}
function callFunctions(arrayParam) {
var i, arrayFns = [];
for (i = 0; i < arrayParams.length; i++) {
arrayFns.push(function (callback) {
objFns[arrayParams[i]](callback);
}
}
async.parallel(arrayFns, function (error) {...});
}