AngularJS:返回承诺拒绝

时间:2015-05-26 20:14:37

标签: angularjs

我在AngularJS中制作Factory,如下所示:

if (href) {
    return $http({ method: method, url: item.href });
}
else {
    // needs to return a failed promise
}

所以,如果条件为真,我需要做的就是调用$http承诺,这意味着谁在使用我的工厂正在期待一个承诺。问题是:如果条件为假,我需要返回被拒绝的承诺。有没有办法做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:5)

返回被拒绝的承诺对象$q.reject()

if (href) {
    return $http({ method: method, url: item.href });
}
else {
    return $q.reject();
}

您还可以指定拒绝原因,即$q.reject('Invalid URL')