我正在使用httpResponseInterceptor来检查过期的会话令牌。我能够通过向用户发送一个很好的通知来检测它并结束我的会话,但我仍然在寻找控制台不输出请求错误的方法:
获取http://api.xx.xx/accounts/82 401(未经授权)
以下是我的代码的简化版本:
responseError: function(rejection) {
if(rejection.status === 401 && rejection.data.error === "Token expired"){
//notify user of being logged out if they were logged in
[...]
//destroy session (will also unset cookies)
LoginService.destroy();
}
return $q.reject(rejection);
}
要明确:我想拒绝承诺,因为一些活跃的流程应该被取消。我只是不想要错误信息。
感谢您的帮助!
答案 0 :(得分:0)
你可以装饰'带有角度装饰器的异常处理程序:
angular.module('yourapp').config(function ($provide) {
// catch exceptions in angular
$provide.decorator('$exceptionHandler', ['$delegate', function ($delegate) {
return function (exception, cause) {
var message = exception.message;
if (message != 'YOUR ERROR TO AVOID') {
$delegate(exception, cause); // If this does not execute - no log would be printed to console
}
}
}])
});