Ich bin ein bisschen verwirrt, je mehr ich online Ressourcen über $q
und $http
lesen, desto mehr dreht sich mein Kopf. Also, wenn ich einen $http.get
Anruf mache, schließt das kein Versprechen ein? Oder bringe ich $q
herein?
Antwort
Die $ http API ausgesetzt ist, auf der Grundlage der latenten/Versprechen APIs durch die $ q Service. Während für einfache Nutzungsmuster dies nicht so wichtig ist, ist es wichtig, für erweiterte Verwendung mit diesen APIs und die Garantien, die sie bieten, vertraut zu machen.
https://docs.angularjs.org/api/ng/service/$http
Was bedeutet, dass die $http.get
ohnehin ein Versprechen zurück. Keine Notwendigkeit, Ihren eigenen $q
Ansatz zu verschachteln. Gib einfach den $http
Aufruf zurück.
Es ist auf $ q gebaut und gibt ein Versprechen. Lesen Sie die Dokumentation: https://docs.angularjs.org/api/ng/service/ $ http
Und das Beispiel gibt:
$http({
method: 'GET',
url: '/someUrl'
}).then(function successCallback(response) {
// this callback will be called asynchronously
// when the response is available
}, function errorCallback(response) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
$ http.get ist nur eine bequeme Methode, auf dem oben.
Sie auf den folgenden Link
https://www.peterbe.com/plog/promises-with- $ http
Dieser Service ($ http.get()) kehrt Versprechen als Erfolg Rückruf und Fehler-Callback beziehen kann ... so diese Funktion selbst gibt Versprechen . Sie müssen nur damit umgehen
$ http ist auch ein Teil des Links kopieren Sie einfach den gesamten Link als Referenz –
$ http.get Anruf enthält das kein Versprechen? Die Antwort ist Ja, Sie ein Versprechen zurückkehren kann oder das Versprechen, mit $ http lösen
ein Versprechen von $ Rückkehr http.get
getData: function() {
return $http.get('some url'); // you can resolve this promise later
// using (then)
}
So später in Ihrem Code können Sie die oben Versprechen wie dieses
lösen...
myService.getData().then(function(response) {
// do something with response
}).catch()
Resolve das Versprechen Inline
getData: function() {
$http.get('some url').then(function(response) {
// do something with response
}).catch()
}
- 1. Wie mache ich Sync oder Async HTTP Post/Get
- 2. Angularjs - $ http Versprechen Fehlerbehandlung
- 3. Wie mache ich meine eigene benutzerdefinierte Laufzeitfehlerklasse?
- 4. Anzeige in DOM von $ http von Versprechen
- 5. $ http Versprechen Kette läuft in falscher Reihenfolge
- 6. angular js http get
- 7. Winkelmesser HTTP GET-Anforderung
- 8. Http Post, mit Anmeldeinformationen.Was mache ich falsch?
- 9. Wie mache ich HTTP-Bereinigung von Java?
- 10. Woher weiß ich, ob meine Website über HTTP oder HTTP/2 bedient wird?
- 11. HTTP-GET-Anfrage in Java
- 12. Fake-HTTP-Get-Requests
- 13. prüft Zeichenfolge „http: //“ enthält
- 14. HTTP SOAP \ GET \ POST
- 15. Wie das Versprechen von $ http in angularJs zurückgeben
- 16. Http Get Methode in Xcode
- 17. ob Versprechen zu verwenden oder mit $ http ruft
- 18. Get Http Antwort
- 19. HTTP-Status für "bereits angemeldet"
- 20. Wie codiere ich HTTP-GET-Abfragezeichenfolgen in Perl?
- 21. Fehlerprüfung Parsen Versprechen und $ HTTP-Anforderung zusammen
- 22. HTTP-Basis-Authentifizierung zu diesem HTTP-GET hinzufügen in angularjs
- 23. $ http get Anruf mit AngularJS meine API funktioniert nicht
- 24. Warum meine $ http Anrufe in einen Dienst verschieben?
- 25. std :: priority_queue enthält meine eigene Klasse
- 26. Wie mache ich eine Put-Anfrage in angular2 mit http?
- 27. Http GET Methode zu Https?
- 28. Wie stelle ich eine HTTP-Get-Anfrage mit Parametern ein
- 29. HTTP GET Anforderungen Daten endlos
- 30. HTTP GET Anfrage, ASP - Ich bin verloren!
Wie gezeigt [hier] (https://docs.angularjs.org/api/ng/se rvice/$ http # get) $ http.get gibt ein Versprechen zurück. – k4l4m
Sie würden $ q trotzdem bringen, wenn irgendwo in der Kette, die Sie eine Ausnahme über $ q.reject() werfen wollen – sq33G