我正在尝试调用一组由参数标识的异步函数。
示例: callFunctions("A,C");将同时调用objFns["A"]和objFns["C"]。
我遇到的问题arrayParams[i]是当内部函数最终由async.parallel(). 这意味着i == arrayParams.lengthwhich 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) {...});
}