拒绝链中的承诺

时间:2014-02-13 20:25:43

标签: angularjs promise

所以这可能是微不足道的,但我正在做一些概念证明,试图拒绝承诺链中的承诺,但我没有得到我期望的结果。

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"打印到控制台。为什么不拒绝剩下的链?

1 个答案:

答案 0 :(得分:2)

这条线有问题......

.then(testPromiseReject())

只需删除(),所以不会立即执行...

.then(testPromiseReject)

小提琴...... http://jsfiddle.net/5LVEE/1/