From 402696deecc9fb28cce1937aa2c377851489d90b Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 22 Oct 2013 11:01:28 +0000 Subject: [PATCH] feature(asyncCall) add any count of params --- lib/util.js | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/lib/util.js b/lib/util.js index c360c2ba..e988253c 100644 --- a/lib/util.js +++ b/lib/util.js @@ -12,26 +12,36 @@ Util = exports || {}; Util.asyncCall = function(pFuncs, pOnLoad, pContext) { var i, element, name, func, - n = pFuncs.length, + funcsCount = pFuncs.length, count = 0, data = []; - for (i = 0; i < n; i++) { + for (i = 0; i < funcsCount; i++) { func = pFuncs[i]; callCheckFunc(i, func); } function checkFunc(pNum, pData) { - ++count; - data[pNum] = pData; + var i, m = pData.length, + params = []; - if (count === n) + ++count; + + if (m >= 2) { + for (i = 0; i < m; i++) + params[i] = pData[i]; + + data[pNum] = params; + } else + data[pNum] = pData[0]; + + if (count === funcsCount) pOnLoad.apply(pContext, data); } function callCheckFunc(pNum, pFunc) { - Util.exec(pFunc, function(pData) { - checkFunc(pNum, pData); + Util.exec(pFunc, function() { + checkFunc(pNum, arguments); }); } },