gpt4 book ai didi

AngularJS ngResource : How to always use the same catch function?

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

每次我使用任何 $resource 访问服务器时,我都希望在失败时向我的用户显示相同的警报。

今天看起来是这样的:

function tryAgain() { alert("try again") }
myResource.query().$promise.catch(tryAgain);
myResource.update(...).$promise.catch(tryAgain);
myResource.delete(...).$promise.catch(tryAgain);
otherResource.query().$promise.catch(tryAgain);

有没有办法为ngResource配置默认的错误处理函数?我正在寻找类似的东西:

$resource.somethingMagicHere.defaults.catch(tryAgain);

最佳答案

您可以使用interceptor在您的 app.config() 部分。这将捕获源自 $resource 使用的 $http 的所有响应错误。

$httpProvider.interceptors.push(function($q) {
return {
'responseError': function(response) {
if (response.status == 401) {
// Handle 401 error code
}
if (response.status == 500) {
// Handle 500 error code
}

// Always reject (or resolve) the deferred you're given
return $q.reject(response);
}
};
});

关于AngularJS ngResource : How to always use the same catch function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23419239/

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