Tôi đang cố gắng tìm ra một cách tốt để nói "Hãy làm tất cả những điều này, nhưng bảo lãnh trong trường hợp bất kỳ trong số họ thất bại"Dừng một chuỗi AngularJS lời hứa
Những gì tôi có ngay bây giờ:
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;
Điều tôi muốn cuối cùng là bằng cách nào đó bắt bất kỳ lỗi nào trên chuỗi đó để tôi có thể chuyển nó vào lời hứa defer
ở trên. Tôi không đặc biệt quan tâm nếu cú pháp được giữ tương tự như những gì tôi có ở trên.
Hoặc ngay cả khi có ai đó chỉ có thể cho tôi biết cách dừng chuỗi ở trên.
@ user2246674 - từ chối nó dường như không dừng chuỗi mặc dù, tiếp theo chỉ tiếp tục –
Không biết những gì tôi đã suy nghĩ .. – user2246674
Đây là một ví dụ kinh khủng về [antipattern bị trì hoãn] (http: //stackoverflow.com/q/23803743/1048572)! Trục vít mà 'trì hoãn', chỉ' trả về 'this.load (…) .thên (A) .then (B) .then (C) .then (D);' chain! – Bergi