Ich weiß nicht, was das genau ist der Unterschied zwischen AngularJS $q
Service und einfach .then()
nach Asynchron-Anfrage mit.
Einfaches Beispiel mit .then()
:
function InboxService($http) {
this.getEmails = function getEmails() {
return $http.get('/emails');
};
}
Und wenn die Nutzung des Dienstes (nur ein Teil des Codes):
InboxService.getEmails()
.then(function (response) {
// use response
});
Was ist der Unterschied mit $q
Service mit Entschlossenheit und ablehnen?
Vielen Dank. Und noch eine Frage, was ist Ihr Vorschlag für mehrere asynchrone Anfragen, die ineinander übergehen sollten? –
Es ist bequem, eine (die eine Verheißung ist) von einer anderen zurückzugeben, dann wird sich die äußere Verheißung mit der inneren auflösen. Wie wenn f1 und f2 Versprechen verspricht, könnte man 'f1() schreiben, dann (function (data1) {return f2 (data1)}), dann (function (data2) {console.log (data2)})' oder sogar 'f1() .dann (f2) .dann (function (data2) {console.log (data2)}) '. – dfsq
Danke. In diesen Fällen kann ich einfach auf eines der Ergebnisse zugreifen. Wie kann ich die Anfragen verketten, aber auf das Ergebnis jeder Anfrage zugreifen? –