js 函数异步执行的串行处理和并行处理
//串行 handle
(function next(i, len, callback) {
if (i < len) {
async(arr[i], function(value){
arr[i] = value;
next(i+1, len, callback);
});
}else{
callback();
}
}(0, arr.length, function () {
//处理结果
}));
//并行 handle
(function(i, len, count, callback){
for(; i < len; i++){
(function(i){
async(arr[i], function(value){
arr[i] = value;
if (++count === len) {
callback();
}
});
})(i);
}
}(0, arr.length, 0, function(){
//处理结果
}));

浙公网安备 33010602011771号