我在 Jasmine 测试中有一个非常简单的函数,我只是返回 $q.reject
var mockFunction = function() {
return $q.reject("error");
};
我称之为:
mockFunction().catch(function(){
// ... blah
});
catch 回调函数从未被调用。如果我理解正确, $q.resolve 应该创建一个 promise ,立即拒绝并返回被拒绝的 promise ,所以我不确定为什么这不起作用
任何见解都值得赞赏。谢谢!
最佳答案
$q promise 链在规范中不会自动执行,它应该是
mockFunction().catch(function(){
// ... blah
});
$rootScope.$digest();
要启动它,在这种情况下链将同步执行。
关于javascript - Angular $q.reject 无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35945441/