我只想让一堆 Promise 跑起来:promise-foreach

最近在写项目的时候有个需求:我的 Promise 即使失败了也没关系——更进一步的,当且仅当失败率大于某一值,这才是一个失败的请求。

于是我查看了包括 ES6 Promise 和 Bluebird 的实现,发现都没有我想要的效果:

  1. 异步无序
  2. 每个方法使用相同处理函数
  3. 失败不影响结果

在完成项目之后把函数抽出来作为一个单独的 utils 模块发布,今天总算把 lint 和 test 补齐了,于是顺手写一篇宣传文。

他没什么大作用,函数实现还是表现形式都比较 Low:

const foreach = require('sky-promise-foreach')

foreach([...promises], (result) => {
  // success handler for each promise
}, (err) => {
  // error handler for each promise
})

在同事的建议下,之后有空可能会出一个改版,把这个库做的更通用一点。

Repo 地址:https://github.com/csvwolf/promise-foreach

如果您觉得文章不错,可以通过赞助支持我

标签: 成品

已有 2 条评论

  1. 你们的需求真是多样。。。

  2. 天猪

    https://github.com/sindresorhus/promise-fun 了解下

添加新评论