feature(util) add asyncCall

This commit is contained in:
coderaiser 2013-09-20 11:10:16 +00:00
parent 21055537d8
commit d22bef234c
2 changed files with 65 additions and 37 deletions

View file

@ -10,6 +10,32 @@ Util = exports || {};
var Scope = exports ? global : window;
Util.asyncCall = function(pFuncs, pOnLoad, pContext) {
var i, element, name, func,
n = pFuncs.length,
count = 0,
data = [];
for (i = 0; i < n; i++) {
func = pFuncs[i];
callCheckFunc(i, func);
}
function checkFunc(pNum, pData) {
++count;
data[pNum] = pData;
if (count === n)
pOnLoad.apply(pContext, data);
}
function callCheckFunc(pNum, pFunc) {
Util.exec(pFunc, function(pData){
checkFunc(pNum, pData);
});
}
},
/** setting function context
* @param {function} pFunction
* @param {object} pContext