Angular $ q.reject无法解析

时间:2016-03-11 16:38:41

标签: javascript angularjs jasmine promise

我在茉莉花测试中有一个非常简单的功能,我只是返回$ q.reject

var mockFunction = function() {
                return $q.reject("error");
        };

我称之为:

mockFunction().catch(function(){
// ... blah
});

永远不会调用catch回调函数。如果我理解正确,$ q.resolve应该创建一个承诺,立即拒绝并返回被拒绝的承诺,所以我不确定为什么这不起作用

任何见解都表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:2)

$ q承诺链不会在规格中自动执行,它应该是

mockFunction().catch(function(){
// ... blah
});
$rootScope.$digest();

启动它,在这种情况下链将同步执行。