From 0f9748314603c3ef41669f170052d4860ac45355 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Thu, 29 May 2014 02:21:14 -0400 Subject: [PATCH] refactor(util) exec.parallel --- lib/util.js | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/lib/util.js b/lib/util.js index 62e28053..7b5059fb 100644 --- a/lib/util.js +++ b/lib/util.js @@ -756,39 +756,29 @@ }; exec.parallel = function(funcs, callback) { - var i, func, - funcsCount = funcs.length, - count = 0, - allData = []; + var count = 0, + allData = [], + funcsCount = funcs.length; - for (i = 0; i < funcsCount; i++) { - func = funcs[i]; - callCheckFunc(i, func); - } + funcs.forEach(function(func, num) { + exec(func, function() { + checkFunc(num, arguments); + }); + }); function checkFunc(num, data) { - var i, n = data.length, - params = []; + var length = data.length; ++count; - if (n >= 2) { - for (i = 0; i < n; i++) - params[i] = data[i]; - - allData[num] = params; + if (length >= 2) { + allData[num] = data; } else allData[num] = data[0]; if (count === funcsCount) exec.ret(callback).apply(null, allData); } - - function callCheckFunc(num, func) { - exec(func, function() { - checkFunc(num, arguments); - }); - } }; /**