Dies könnte eine Frage sein, aber ich bin neu zu Versprechungen und versuchen herauszufinden, wie Q in node.js zu verwenden.Wie verwende ich Q-Versprechen in node.js?
Ich sehe die tutorial mit einem von
promiseMeSomething()
.then(function (value) {}, function (reason) {});
aber ich kann nicht begreifen, wo genau sich die .then
kam beginnt. Ich denke, es kommt von
var outputPromise = getInputPromise()
.then(function (input) {}, function (reason) {});
aber woher kommt getInputPromise()
? Ich finde keine vorherige Erwähnung davon.
Ich habe es in meinem Projekt enthalten wie so
var Q = require('q');
// this is suppose, the async function I want to use promise for
function async(cb) {
setTimeout(function() {
cb();
}, 5000);
}
async(function() {
console.log('async called back');
});
Wie verwende ich Q
und seine .then
hier in meinem Beispiel?
Ihr Beispiel ist kein großer Anwendungsfall für Versprechungen. Die "Then" -Funktion ist an Versprechen geknüpft, und ja, etwas muss dieses Versprechen schaffen. Manchmal tun Bibliotheken.Es ist ein MySQL-ähnliches Beispiel, aber Sie könnten hilfreich finden [eine Antwort, die ich jemandem gab] (http://stackoverflow.com/questions/22109487/nodejs-mysql-dump/22110015#22110015), in der ich die Antwort unter Verwendung von normal implementiere Rückrufe und dann die Verwendung von Q-Versprechen, mit starken Kommentaren zum Q-Teil, der illustriert, was vor sich geht. –
verwandt: http://stackoverflow.com/questions/10545087/how-to-use-q-module-for-refactoring-mongoose-code – laggingreflex
Related http://stackoverflow.com/questions/22519784/how-do- i-convert-an-existing-callback-api-zu-Versprechen –