パラメータで識別される非同期関数のグループを呼び出そうとしています。
例: と の両方をcallFunctions("A,C");
呼び出します。objFns["A"]
objFns["C"]
私が遭遇した問題はarrayParams[i]
、内部関数が によって最終的に呼び出されたときに解決されることasync.parallel()
です。これは、定義されていないi == arrayParams.length
ためもちろんクラッシュすることを意味します。objFns[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) {...});
}