AngularJS - 我可以跳过拦截器吗?
AngularJS - can I skip an interceptor?
我有一个 AngularJS 带有拦截器的应用程序来显示错误消息。
有时来自后端的错误消息需要一些前端处理以提供更多上下文,例如将 "access denied" 更改为 "You can't do this because of X"。
我该怎么做才能不调用拦截器?
现在我收到了 2 条消息。来自我的控制器的消息和来自拦截器的消息。
解决方案:
service.js:
myFunction: function(id) {
return $http.post('myUrl/', {}, {skipErrorInterceptor: true});
}
interceptor.js:
'responseError': function(rejection) {
if (rejection.config.skipErrorInterceptor) {
return $q.reject(rejection);
} else {
... Global message treatment
}
return $q.reject(rejection);
}
我有一个 AngularJS 带有拦截器的应用程序来显示错误消息。
有时来自后端的错误消息需要一些前端处理以提供更多上下文,例如将 "access denied" 更改为 "You can't do this because of X"。
我该怎么做才能不调用拦截器?
现在我收到了 2 条消息。来自我的控制器的消息和来自拦截器的消息。
解决方案:
service.js:
myFunction: function(id) {
return $http.post('myUrl/', {}, {skipErrorInterceptor: true});
}
interceptor.js:
'responseError': function(rejection) {
if (rejection.config.skipErrorInterceptor) {
return $q.reject(rejection);
} else {
... Global message treatment
}
return $q.reject(rejection);
}