Kei*_*eir 2 javascript promise angularjs angular-promise
我有一系列的承诺,依赖于另一个完成,并希望"然后"他们在一起得到一个代表整个序列完成的承诺.这似乎工作正常,但我似乎没有任何失败级联下来的承诺链,因为它似乎应该从文档中做,这是一个代码示例,以说明我正在努力的:
var deferred = $q.defer();
deferred.resolve();
var resolvedPromise = deferred.promise;
var rejectedPromise = $q.reject('rejected');
var aPromise = resolvedPromise.then(rejectedPromise);
aPromise.then(function () {
console.log('promise fulfilled');
}, function () {
console.log('promise rejected');
});
Run Code Online (Sandbox Code Playgroud)
我希望记录"承诺拒绝",但我得到"承诺履行".我有什么想法可以实现我想要的行为?
Ben*_*aum 11
JBNizet的答案很好,但我认为有些事情需要澄清.
该then功能的承诺有将忽略任何传递给它比其他的功能.所以当你有代码时:
myPromise.then(otherPromise)
Run Code Online (Sandbox Code Playgroud)
整个otherPromise部分完全被忽略了.这是因为Promises/A +没有指定一个catch方法,你需要能够.then(null, errHandler)处理错误而不改变promise值本身,如果它解决了.
| 归档时间: |
|
| 查看次数: |
408 次 |
| 最近记录: |