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; };