我在AngularJS中制作Factory
,如下所示:
if (href) {
return $http({ method: method, url: item.href });
}
else {
// needs to return a failed promise
}
所以,如果条件为真,我需要做的就是调用$http
承诺,这意味着谁在使用我的工厂正在期待一个承诺。问题是:如果条件为假,我需要返回被拒绝的承诺。有没有办法做到这一点?
谢谢!
答案 0 :(得分:5)
返回被拒绝的承诺对象$q.reject()
:
if (href) {
return $http({ method: method, url: item.href });
}
else {
return $q.reject();
}
您还可以指定拒绝原因,即$q.reject('Invalid URL')
。