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(){
  //处理结果
}));

  

posted @ 2016-10-28 18:59  MakeCoder  阅读(100)  评论(0)    收藏  举报