Bluebird promisifyAll与宣传每种方法

时间:2017-04-26 15:11:24

标签: node.js promise bluebird

我正在使用节点模块&而不是使用PromisifyAll()我每次调用该模块的方法时都会创建一个新的promise对象。

这是一种安全的宣传方式吗?

如果没有,那么我的整个代码结构将会改变。因此,改变或只要我使用Promise它是非常关键的。

如果我单独宣传每种方法,还会对内存或CPU产生影响吗?

1 个答案:

答案 0 :(得分:3)

我认为我有一个独特的位置来回答这个问题,包括Bluebird和NodeJS核心。

这是一种安全但相对较慢的promisify方法(使用new Promise),如果你没有为每个promise创建多个请求,那么你应该没问题。如果您的承诺数量与您的请求数量相符,则它开始变得重要。

您可以在此处查看上周的基准(new Promise):https://kyrylkov.com/2017/04/25/native-promises-async-functions-nodejs-8-performance/

Bluebird在promisifypromisifyAll中做了很多聪明的事情,让它变得更快。

注意,我为Node提出了util.promisify,我们是working on adding it to the core