Break from async.series

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
  }
})

你可能感兴趣的:(Break from async.series)