async.series
支持在最后跟上一个optional的callback,在这个callback中会收集到前面所有函数执行时返回的数值并放到一个数组中。但是如果需要在series中间返回,那就有点麻烦了。之前类似的函数使用 return callback(null)
就能返回,但是在series的最后,那个callback是一定会调用的,最后想到的解决办法就是返回一个特定的错误,大概是这样:
async.series([
function(callback) {
// blahblahblah...
},
function(callback) {
// blahblahblah...
callback('FIN');
}
], function(err, results) {
if (err) {
if (err === 'FIN') {
return;
} else {
// Error handler
}
// Process results
}
})