Ich habe bestimmte Servicefunktionen im Formatfehler und Reaktion auf Rückruf, so dass es erfolgreich promisified werden kann.Drossel promisifyAll statt einzelnen promisifying Funktionen
Beispiel: service.js
functionA(callback) {
...
callback(error, response);
}
functionB(callback) {
...
callback(error, response);
}
module.exports.functionA = functionA;
module.exports.functionB = functionB;
Von einem Controller, I erfolgreich promisified
const functionA = Promise.promisify(service.functionA);
const functionB = Promise.promisify(service.functionB);
verwenden, aber den Code zu optimieren, habe ich:
const {functionA, functionB} = Promise.promisifyAll(service);
das ist funktioniert nicht ... mit Fehler "Callback ist keine Funktion". Ist es nicht möglich, Bluebird promisifyAll so zu verwenden?
'promisifyAll' erstellt neue Methoden mit einem nachgestellten Methodennamen. Ihre Destrukturierung erhält die ursprünglichen Methoden. – Bergi
Sorry @Bergi, ich bekomme dich. Ist es nicht möglich, diese Funktionen so abzubilden wie ich? – Nisha
Nein, es ist nicht möglich. Sie müssten 'const {functionAAsync, functionBAsync} = ...', und selbst das funktioniert nicht, da sie ihren Kontext verloren haben. – Bergi