我正试图找出一个好的方式来表达“做所有这些事情,但如果其中任何一个失败,请保释”
我现在拥有的:
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;
我最终想要的是以某种方式捕获该链上的任何错误,以便我可以将其传递给defer
上面的承诺。我并不特别关心语法是否与我上面的相似。
或者即使有人可以告诉我如何停止上述链条。