我想在遇到错误后突破循环。
var async = require('async');
var objs = [{name:'A'}, {name:'B'}, {name:'C'}];
function doSomething(obj, cb)
{
console.log("Processing" + obj.name);
cb();
}
async.each(objs, function(obj, callback) {
doSomething(obj, function(){
callback("It's a err.");
});
}, function(err){
if(err)
console.log("err is:" + err);
});
我想它会在第一次迭代后爆发。但它输出:
ProcessingA
err is:It's a err.
ProcessingB
ProcessingC
不应该在调用回调(错误)后停止迭代。如果没有,为什么它只调用一次?我无法看到这背后的想法。它只是在第一个之后忽略了其他可能的错误?
documentation中指出:
// One of the iterations produced an error. // All processing will now stop.