#1684·bluebird

也许应该淘汰 npm 包?

作者: jimmywarting创建于 2022年2月17日更新于 2024年7月13日

既然 npm 包两年没有更新,而且“Readme -> Note”中关于在可能的情况下使用原生的 promise 的建议仍然有效,那么是否有必要在 npm 上淘汰这个包呢? 我正在尝试重构一个包,使其使用原生的 promise、async/await 和 async 迭代器,有时在不知不觉中,如果 promise 链中出现异常,例如在 promise 链中插入并调用 .delay()、.spread() 或其他实用程序,这会是一个危险的举动。 我更喜欢这种代码:

return bluebirdPromise.delay(250)
``` 而不是像这样:
```js
function foo() {
  return Promise.resolve(123)
}

foo().delay(250).then(console.log)
``` 在任何时候,我都可能将 `foo` 重构为 async/await,并可能使用原生的 promise 或 async/await 来替代。 我认为使用一个规范的 promise A+ 补丁更好。 此外,这个 bluebird promise 没有 `Promise.allSettled`,因此我必须使用 `globalThis.Promise.allSettled` 来避免在文件顶部导入 bluebird-promise。 也许 bluebird 已经走到了尽头,是时候与 bluebird 做个告别了吗? 你在 promise 方面做了惊人的工作,并使浏览器查找到 bluebirds 的 promise 工具和速度,对此我要表示衷心感谢。

内容来源: petkaantonov/bluebird