gpt4 book ai didi

angularjs - 如何在 $http Promise 中抛出错误

转载 作者:行者123 更新时间:2023-12-02 22:26:59 26 4
gpt4 key购买 nike

我有一个 angular.service ,它包装我的其余 api 调用并返回 $http promise 。

我的问题是如何抛出错误以便调用触发 .error 方法的 Promise?我不想只是抛出错误,因为我希望它在调用函数中使用 .success/.error 而不是在它周围执行 try catch block 。

myFunction: function(foo)
if (foo) {
return $http.put(rootUrl + '/bar', {foo: foo});
}
else {
//what do I return here to trigger the .error promise in the calling function
}

最佳答案

您不需要$q.defer()。还有else。可以直接使用reject:

myFunction: function(foo) {
if (foo) {
return $http.put(rootUrl + '/bar', {foo: foo});
}

return $q.reject("reject reason");
}

参见https://docs.angularjs.org/api/ng/service/ $q#拒绝

关于angularjs - 如何在 $http Promise 中抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26759069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com