Próbuję wymyślić dobry sposób, aby powiedzieć: „Czy wszystkie te rzeczy, ale za kaucją w przypadku, gdy któryś z nich zawodzi”Zatrzymywanie angularjs łańcuch obietnica
Co mam teraz:
var defer = $q.defer();
this
.load(thingy) // returns a promise
.then(this.doSomethingA.bind(this))
.then(this.doSomethingB.bind(this))
.then(this.doSomethingC.bind(this))
.then(this.doSomethingD.bind(this))
.then(function(){
defer.resolve(this);
});
;
return defer.promise;
Ostatecznie chcę jakoś złapać jakikolwiek błąd w tym łańcuchu, więc mogę go przekazać na powyższą obietnicę defer
. Nie obchodzi mnie szczególnie, czy składnia jest podobna do tego, co mam powyżej.
Nawet jeśli ktoś może mi powiedzieć, jak zatrzymać powyższy łańcuch.
@ user2246674 - odrzucając to nie wydaje się zatrzymywać łańcucha, następny kontynuuje –
Nie wiem o czym myślałem .. – user2246674
To jest przerażający przykład [odroczonego antipattern] (http: //stackoverflow.com/q/23803743/1048572)! Przykręć 'odroczenie', po prostu' zwróć '' this.load (...) .then (A) .then (B) .then (C) .then (D); 'chain! – Bergi