$resource
调用了一些API。如果它返回一些标志,则请求应降至.catch()
$resource('api/').get(...).$promise.catch();
部分
我的拦截器不会触发该调用。它无论如何都会调用.then
拦截器代码:
.factory('SomeHTTPInterceptor', function($q) {
return {
response: function(response) {
if (response.data.someFlag) {
return $q.reject(response);
}
return response;
}
};
})
如何获得相同的响应,但是在catch部分没有检查每个请求中的错误?
答案 0 :(得分:0)
您必须按照doc使用responseError处理程序 responseError:当前一个拦截器抛出错误或通过拒绝解决时,会调用拦截器。
.factory('SomeHTTPInterceptor', ['$q', function($q) {
return {
// optional method
'responseError': function(rejection) {
if (rejection.data.someFlag) {
// do something
}
return $q.reject(rejection);
}
};
}]);