Stoppen einer AngularJS-Versprechungskette

8

Ich versuche, einen guten Weg zu finden, um zu sagen "Mach all diese Dinge, aber schütze den Fall, dass einer von ihnen versagt"

Was ich gerade habe:

%Vor%

Was ich letztendlich möchte, ist, irgendeinen Fehler in dieser Kette zu finden, damit ich ihn an das obige defer Versprechen weitergeben kann. Es interessiert mich nicht besonders, ob die Syntax ähnlich wie oben ist.

Oder auch wenn mir jemand sagen kann, wie man die obige Kette stoppt.

    
Mark Kahn 30.05.2013, 23:17
quelle

6 Antworten

2

Sie können dasselbe tun, indem Sie:

%Vor%     
marcoseu 23.10.2013, 17:59
quelle
5

Sie können angularjs chain stoppen, indem Sie die abgelehnten Versprechen innerhalb eines Callbacks zurückgeben.

%Vor%

wobei doA , doB , doC , doD eine solche Logik haben können:

%Vor%     
Max Podriezov 20.07.2015 19:01
quelle
3

Ich bin gerade darüber gestolpert und habe gemerkt, dass all diese Antworten schrecklich veraltet sind. Hier ist der richtige Weg, um dies für jeden, der diesen Beitrag findet, zu behandeln.

%Vor%     
Michael Stramel 29.07.2015 06:55
quelle
0

Okay, das funktioniert, aber ich mag es nicht ... Warten auf etwas Besseres:)

Es scheint nur schmutzig zu sein, ein Versprechen zu machen, nur um es sofort abzulehnen

%Vor%     
Mark Kahn 30.05.2013 23:38
quelle
0

Sieht so aus, als wäre dieser Anwendungsfall antizipiert und mit der Verwendung von $ q.reject (Grund )

    
anewcomer 23.10.2013 15:58
quelle
0

Der beste Weg, dies zu lösen und das Problem zu lösen, ist der .catch-Block. In jedem Block, der die Verkündigungskette zerstören soll, benutze ja:

%Vor%

Aber so wie es ist ...

%Vor%

Jetzt in der Fangmethode haben Sie dies

%Vor%

Jetzt werfen und behandeln wir den Versprechensfehler korrekt in den Modeversprechen, mit denen Fehler behandelt werden sollten.

    
Sten Muchow 04.02.2016 14:45
quelle

Tags und Links