Ich habe versucht, besseren Code auf meinem node.js Server zu schreiben und nach ein paar Blog-Posts zu lesen wie folgt aus:q- Wenn wie "defer.resolve (myData) zurückzukehren; zurück defer.promise;" VS einfach "return myData" in Versprechen Kette
- http://www.codelord.net/2015/09/24/ $ q-Punkt-defer- youre-doing-it-falsch/(Winkel spezifisches, aber gleiches Konzept)
- http://bahmutov.calepin.co/linking-promises.html
ich bin immer noch nicht sicher, ob ich den „richtige Weg“ meine Daten auf die Versprechen Kette bin zurück.
Ich kann nicht sagen, wenn es wie diese
Fall 1
var promise = function() {
var defer = q.defer();
var myData = "hi"
defer.resolve(myData);
return d.promise;
};
oder wie diese Daten zurückgeben oder überliefern ein Versprechen geeignet ist.
Fall 2
var promise = function() {
var myData = "hi"
return myData;
};
ich davon aus bin, ist, dass wenn ich etwas weiß zurückgegeben werden, wo es für das Versprechen Kette nicht möglich ist, dann zu brechen Fall 2 verwenden, aber wenn sie ist Eine Änderung könnte fehlschlagen (dh es werden Daten von einem Netzwerkanruf zurückgegeben, aber der Benutzer ist offline). Verwenden Sie dann case 1, damit beide Fälle behandelt werden können. Ist das richtig oder habe ich ein Missverständnis darüber, wie dieser Fluss/Prozess funktioniert?
Zeigen Sie uns, wie Sie diese "Versprechen" -Funktion aufrufen/verwenden. Der Unterschied sollte dann offensichtlich sein. – Bergi
Eigentlich ist der richtige Weg, um sofort eine Verheißung für einen Wert zu erstellen, 'return Q (" hi ");' – Bergi