valeur de retour à l'intérieur de la promesse de la chaîne n'est pas appelé

Je suis en utilisant la promesse de la bibliothèque de Bluebird et je suis actuellement en cours d'exécution dans la question que tout à l'intérieur de la fonction fonctionne bien, mais lorsque je tente de retourner une valeur, la fonction au lieu de cela renvoie undefined.

C'est la promesse de la chaîne:

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; 
            }); 

       });

    });
}

Le problème est simple: lors de l'appel foo(), c'est la valeur devient undefined au lieu de livre. Pourquoi suis-je confronté à ce comportement?

toto ne retourne rien du tout
Je ne suis pas familier avec Bluebird, mais j'ai utilisé natif JS promesses. Cela dit... la fonction anonyme function(results) retourne livre. Les deux fonctions anonymes function(val) ci-dessus, il renvoie rien. foo, en fin de compte, ne retourne rien.
Vous devez retourner toutes vos fonctions imbriquées. createGroupMembers, createMessages, etc.
Comment puis-je la faire revenir n'importe quoi, et pourquoi n'est-il pas de retour?

OriginalL'auteur bdv | 2015-10-07