作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每次我使用任何 $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/
我是一名优秀的程序员,十分优秀!