mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-19 01:17:18 +00:00
refactor(loader) anyLoadInParallel
This commit is contained in:
parent
f950daad43
commit
75a1b4a5b6
1 changed files with 23 additions and 20 deletions
|
|
@ -144,36 +144,39 @@ var Util, DOM;
|
|||
* we pop number of function and
|
||||
* if it's last we call pCallBack
|
||||
*
|
||||
* @param pParams_a
|
||||
* @param pFunc - onload function
|
||||
* @param params
|
||||
* @param callback - onload function
|
||||
*/
|
||||
this.anyLoadInParallel = function(pParams_a, pFunc) {
|
||||
var lDone = [],
|
||||
this.anyLoadInParallel = function(params, callback) {
|
||||
var i, n, param, func,
|
||||
done = [],
|
||||
|
||||
lDoneFunc = function (pCallBack) {
|
||||
Util.exec(pCallBack);
|
||||
doneFunc = function (func) {
|
||||
Util.exec(func);
|
||||
|
||||
if (!lDone.pop())
|
||||
Util.exec(pFunc);
|
||||
if (!done.pop())
|
||||
Util.exec(callback);
|
||||
};
|
||||
|
||||
if (!Util.isArray(pParams_a)) {
|
||||
pParams_a = [pParams_a];
|
||||
}
|
||||
if (!Util.isArray(params))
|
||||
params = [params];
|
||||
|
||||
for(var i = 0, n = pParams_a.length; i < n; i++) {
|
||||
var lParam = pParams_a.pop();
|
||||
|
||||
n = params.length;
|
||||
for (i = 0; i < n; i++) {
|
||||
param = params.pop();
|
||||
|
||||
if (lParam) {
|
||||
lDone.push(i);
|
||||
if (param) {
|
||||
done.push(i);
|
||||
|
||||
if (Util.isString(lParam))
|
||||
lParam = { src : lParam };
|
||||
if (Util.isString(param))
|
||||
param = { src : param };
|
||||
else
|
||||
func = param.func;
|
||||
|
||||
var lFunc = lParam.func;
|
||||
lParam.func = Util.retExec(lDoneFunc, lFunc);
|
||||
param.func = Util.retExec(doneFunc, func);
|
||||
|
||||
Loader.anyload(lParam);
|
||||
Loader.anyload(param);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue