Bluebird promisifyAll 而不是单独的 promisifying 函数

Bluebird promisifyAll instead of individual promisifying functions

我在格式上有一定的服务函数回调error和response,所以可以成功promisified。

示例: service.js

functionA(callback) {
...
callback(error, response);
}
functionB(callback) {
...
callback(error, response);
}
module.exports.functionA = functionA;
module.exports.functionB = functionB;

从控制器,我成功地使用

承诺
const functionA = Promise.promisify(service.functionA);
const functionB = Promise.promisify(service.functionB);

但是为了优化代码,我使用了:

const {functionA, functionB} = Promise.promisifyAll(service);

无法正常工作...出现错误 "callback is not a function"。 难道不能像那样使用 Bluebird promisifyAll 吗?

根据Bluebird doc,在调用中使用了后缀:

const {functionAAsync, functionBAsync} = Promise.promisifyAll(service);

工作正常。