ich einige Probleme zu verstehen, wie "q" verwenden (https://github.com/kriskowal/q) eine verspricht Bibliothek für javascript:Wie mache ich eine Callback-Kette mit q?
var delayOne = function() {
setTimeout(function() {
return 'hi';
}, 100);
};
var delayTwo = function(preValue) {
setTimeout(function() {
return preValue + ' my name';
}, 200);
};
var delayThree = function(preValue) {
setTimeout(function() {
return preValue + ' is bodo';
}, 300);
};
var delayFour = function(preValue) {
setTimeout(function() {
console.log(preValue);
}, 400);
};
Q.fcall(delayOne).then(delayTwo).then(delayThree).then(delayFour).end();
dies nur den Wert undefined zurück ...
danke für die Lösung. Nebenbei muss ich die Entscheidung treffen, wenn ich Q verwende, was meine Codequalität stark verbessern würde, auf der anderen Seite würde es zu einer harten Abhängigkeit führen. Hast du Erfahrung wenn dieses Problem? – bodokaiser
Wenn Sie viele verkettete asynchrone Aufrufe verwenden, benötigen Sie eine Bibliothek, um der "Pyramide des Schicksals" zu entkommen :). Ich persönlich bevorzuge asyncjs: https://github.com/caolan/async, und ich habe es mit Erfolg bei einigen mittelgroßen Projekten verwendet. – wroniasty