Bluebird Versprechen.alle () - Methode auf, wenn ein Versprechen ist von einem anderen abhängig

Bin ich einige code schreiben, der derzeit so aussieht, weil ich die Abhängigkeiten in meinem code. Ich Frage mich, ob es eine bessere Möglichkeit, dies zu tun mit Versprechen.alle()? Hier ist mein pseudo-code:

        return someService.getUsername()
            .then(function(username) {
                user = username;
            })
            .then(function() {
                return someService.getUserProps(user);
            })
            .then(function(userProps) {
                userProperties = userProps;
                return someService.getUserFriends(user);
            })
            .then(function(userFriends) {
                friends = userFriends;
            })
            .catch(error)
            .finally(function(){
                //do stuff with results
            });

Das wichtigste ist, dass ich brauche Benutzer, bevor ich die zweite zwei Anrufe für getUserProps() und getUserFriends(). Ich dachte, ich könnte Versprechen.alle() für dieses Beispiel so:

var user = someService.getUsername()
    .then(function(username) {
        user = username;
    })
var getUserProps = someService.getUserProps(user);
var getUserProps = someService.getUserFriends(user);

return Promise.all(user, getUserProps, getUserFriends, function(user, props, friends) {
    //do stuff with results
})

Aber ich kann nicht ankommen dieses zu wirken. Ist dies die korrekte groß-und Kleinschreibung zu verwenden .alle?

InformationsquelleAutor Jeff | 2014-09-17

Schreibe einen Kommentar