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
  }
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 异步编程对JavaScript语言太重要。Javascript语言的执行环境是“单线程”的,如果没有异步编程,根本...
    呼呼哥阅读 12,041评论 5 22
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,758评论 19 139
  • ———————————————回答好下面的足够了---------------------------------...
    恒爱DE问候阅读 5,699评论 0 4
  • 史上最全的iOS面试题及答案 iOS面试小贴士———————————————回答好下面的足够了----------...
    Style_伟阅读 7,114评论 0 35
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 11,515评论 0 6