From 233d4eeddd968ddd756cbf6965adfe9b49081d15 Mon Sep 17 00:00:00 2001 From: andrew Date: Fri, 31 Oct 2014 20:12:27 +0800 Subject: [PATCH 1/2] Fix bug on async.eachLimit --- each.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/each.js b/each.js index 9de19df..de68159 100644 --- a/each.js +++ b/each.js @@ -105,7 +105,7 @@ async.eachSeries(arr,function(item, callback) { // 42.460> 1.4 err: myerr /** - * 分批执行,第二个参数是每一批的个数。每一批内并行执行,但批与批之间按顺序执行。 + * 分批执行,第二个参数是同步执行的上限个数。当有任务完成时,就拿入新任务补充。 */ async.eachLimit(arr, 2, function(item, callback) { log('1.5 enter: ' + item.name); @@ -118,14 +118,14 @@ async.eachLimit(arr, 2, function(item, callback) { }); // 42.247> 1.5 enter: Jack // 42.248> 1.5 enter: Mike -// 42.351> 1.5 handle: Mike -// 42.352> 1.5 enter: Freewind +// 42.351> 1.5 handle: Mike /* 一个任务完成 +// 42.352> 1.5 enter: Freewind /* 立即加入一个新的任务 // 42.461> 1.5 handle: Jack // 42.664> 1.5 handle: Freewind // 42.664> 1.5 err: undefined /** - * 如果中途出错,错误将马上传给最终的callback。同一批中的未执行完的任务还将继续执行,但下一批及以后的不再执行。 + * 如果中途出错,错误将马上传给最终的callback。当有任务完成时,依然拿入新任务补充。 */ async.eachLimit(arr,2,function(item, callback) { log('1.6 enter: ' +item.name); @@ -133,7 +133,9 @@ async.eachLimit(arr,2,function(item, callback) { log('1.6 handle: ' + item.name); if(item.name==='Jack') { callback('myerr'); - } + }else{ + callback(); + } }, item.delay); }, function(err) { log('1.6 err: ' + err); From f068c38374ea2aaf6404e5ac7ffc550ba9c32e94 Mon Sep 17 00:00:00 2001 From: andrew Date: Fri, 31 Oct 2014 20:15:36 +0800 Subject: [PATCH 2/2] add console output --- each.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/each.js b/each.js index de68159..96c85c5 100644 --- a/each.js +++ b/each.js @@ -143,5 +143,7 @@ async.eachLimit(arr,2,function(item, callback) { // 42.248> 1.6 enter: Jack // 42.248> 1.6 enter: Mike // 42.352> 1.6 handle: Mike +// 42.352> 1.6 enter: Freewind // 42.462> 1.6 handle: Jack -// 42.462> 1.6 err: myerr \ No newline at end of file +// 42.462> 1.6 err: myerr +// 42.463> 1.6 handle: Freewind \ No newline at end of file