Als «angular-promise» getaggte Fragen


10
AngularJS: Dienst mit asynchronen Daten initialisieren
Ich habe einen AngularJS-Dienst, den ich mit asynchronen Daten initialisieren möchte. Etwas wie das: myModule.service('MyService', function($http) { var myData = null; $http.get('data.json').success(function (data) { myData = data; }); return { setData: function (data) { myData = data; }, doStuff: function () { return myData.getSomeData(); } }; }); Offensichtlich funktioniert dies …



5
Warten Sie, bis alle Versprechen gelöst sind
Ich habe also eine Situation, in der ich mehrere Versprechensketten unbekannter Länge habe. Ich möchte, dass eine Aktion ausgeführt wird, wenn alle KETTEN verarbeitet wurden. Ist das überhaupt möglich? Hier ist ein Beispiel: app.controller('MainCtrl', function($scope, $q, $timeout) { var one = $q.defer(); var two = $q.defer(); var three = $q.defer(); …

1
Verursacht ein nie gelöstes Versprechen einen Speicherverlust?
Ich habe eine Promise. Ich habe es erstellt, um eine AJAX-Anfrage bei Bedarf abzubrechen. Aber da ich diesen AJAX nicht abbrechen muss, habe ich ihn nie gelöst und AJAX erfolgreich abgeschlossen. Ein vereinfachtes Snippet: var defer = $q.defer(); $http({url: 'example.com/some/api', timeout: defer.promise}).success(function(data) { // do something }); // Never defer.resolve() …

4
Winkel $ q, Wie mehrere Versprechen innerhalb und nach einer for-Schleife verkettet werden
Ich möchte eine for-Schleife haben, die bei jeder Iteration asynchrone Funktionen aufruft. Nach der for-Schleife möchte ich einen weiteren Codeblock ausführen, aber nicht bevor alle vorherigen Aufrufe in der for-Schleife aufgelöst wurden. Mein Problem im Moment ist, dass entweder der Codeblock nach der for-Schleife ausgeführt wird, bevor alle asynchronen Aufrufe …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.