所以这可能是微不足道的,但我正在做一些概念证明,试图拒绝承诺链中的承诺,但我没有得到我期望的结果。
app.controller('MainCtrl', function($scope, $q) {
var def = $q.defer();
def.promise
.then(testPromiseReject())
.then(
function(){
console.log("SUCCESS")
},
function(){
console.log("FAIL")
});
def.resolve();
function testPromiseReject(action)
{
return $q.reject()
}
});
我想我正在创建一个我最初解决的承诺,但在第一个then
我有一个函数,我试图拒绝承诺链的其余部分。上面的代码将"SUCCESS"
打印到控制台。为什么不拒绝剩下的链?
答案 0 :(得分:2)
这条线有问题......
.then(testPromiseReject())
只需删除()
,所以不会立即执行...
.then(testPromiseReject)
小提琴...... http://jsfiddle.net/5LVEE/1/