Ich benutze die Versprechen Bibliothek Bluebird und ich laufe derzeit auf das Problem, dass alles innerhalb der Funktion läuft super, aber wenn ich versuche, einen Wert, die Funktion stattdessen zurückgeben gibt undefined
zurück.Rückgabewert innerhalb der Versprechenskette wird nicht aufgerufen
Das ist das Versprechen Kette:
function foo() {
createGroupMembers(parsedChat).then(function(val) {
var members = val;
createMessages(parsedChat, maxPages).then(function(val) {
var messages = val;
Promise.all([ createFrontCover(subject, firstdateOfMessages, lastDateOfMessages, isPreview), createStats(parsedChat), createBackCover(parsedChat)])
.then(function (results) {
var front = results[0];
var stats = results[1];
var backcover = results[2];
var book = head + front + stats + members + messages + backcover;
console.log('pages in this book: ', pages);
console.log(book); // logs perfect values.
return book;
});
});
});
}
Das Problem ist einfach: Wenn foo()
Aufruf, es wird Wert undefined
statt Buch. Warum erlebe ich dieses Verhalten?
foo nichts zurückliefert überhaupt –
ich mit Drossel nicht vertraut bin, aber ich habe nativen JS Versprechen verwendet. Nachdem das gesagt wurde ... kehrt die anonyme Funktion 'function (results)' zurück. Die beiden anonymen Funktionen 'function (val)' darüber geben nichts zurück. 'foo' bringt am Ende nichts zurück. –
Sie müssen alle verschachtelten Funktionen zurückgeben. createGroupMembers, createMessages etc. – ehynds