我只想让一堆 Promise 跑起来:promise-foreach
最近在写项目的时候有个需求:我的 Promise 即使失败了也没关系——更进一步的,当且仅当失败率大于某一值,这才是一个失败的请求。
于是我查看了包括 ES6 Promise 和 Bluebird 的实现,发现都没有我想要的效果:
- 异步无序
- 每个方法使用相同处理函数
- 失败不影响结果
在完成项目之后把函数抽出来作为一个单独的 utils
模块发布,今天总算把 lint 和 test 补齐了,于是顺手写一篇宣传文。
他没什么大作用,函数实现还是表现形式都比较 Low:
1const foreach = require('sky-promise-foreach')
2
3foreach([...promises], (result) => {
4 // success handler for each promise
5}, (err) => {
6 // error handler for each promise
7})
8
在同事的建议下,之后有空可能会出一个改版,把这个库做的更通用一点。
评论 (2)
https://github.com/sindresorhus/promise-fun 了解下
你们的需求真是多样。。。