From 0e2f48d6d78173c6ca06718f33fe026401a9421b Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 27 May 2014 09:48:10 -0400 Subject: [PATCH] refactor(loader) asyncLoad: exec.parallel --- lib/client/loader.js | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/lib/client/loader.js b/lib/client/loader.js index cf90a141..c1eb8b5f 100644 --- a/lib/client/loader.js +++ b/lib/client/loader.js @@ -150,25 +150,20 @@ var Util, DOM; * @param callback - onload function */ this.asyncLoad = function(params, callback) { - var i = 0, - done = [], - - doneFunc = function () { - var isMore = done.pop(); - - if (!isMore) - Util.exec(callback); - }; - - if (params) - params.forEach(function(param) { - done.push(i++); - + var funcs = [], + func = function (param, callback) { Loader.anyload({ src : param, - func: doneFunc + func: callback }); + }; + + if (params) { + funcs = params.map(function(param) { + return Util.exec.with(func, param); }); + Util.exec.parallel(funcs, callback); + } return Loader; };