У меня есть определенные служебные функции в формате для обратного вызова и ответа, чтобы он мог быть успешно пролонгирован.Bluebird promisifyAll вместо отдельных обещающих функций
Пример: service.js
functionA(callback) {
...
callback(error, response);
}
functionB(callback) {
...
callback(error, response);
}
module.exports.functionA = functionA;
module.exports.functionB = functionB;
От контроллера, я успешно promisified использованием
const functionA = Promise.promisify(service.functionA);
const functionB = Promise.promisify(service.functionB);
Но чтобы оптимизировать код, я использовал:
const {functionA, functionB} = Promise.promisifyAll(service);
который не работает ... с ошибкой "обратный вызов не является функцией". Невозможно ли использовать Bluebird promisifyВсе подобное?
'promisifyAll' создает новые методы с именем суффикса метода. Ваши деструкции получают оригинальные методы. – Bergi
Извините @ Bergi, я хочу тебя. Невозможно ли отобразить эти функции так, как я сделал? – Nisha
Нет, это не возможно. Вам нужно будет выполнять 'const {functionAAsync, functionBAsync} = ...', и даже это не работает, поскольку они потеряли свой контекст. – Bergi