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