我正在以角度制作一个http拦截器,我想从response
拦截器的$httpProvider
发出抛出错误。
根据文件:
response
:使用http响应对象调用拦截器。该函数可以自由修改响应对象或创建新对象。该函数需要直接返回响应对象,或者作为包含响应或新响应对象的promise。
responseError
:拦截器在前一个拦截器时被称为 提出错误或通过拒绝解决。
我想在上面的引用中做大胆的部分,以便状态为200的响应(我在那里有一个条件)被路由到responseError
我将处理错误。
不返回响应会抛出以下错误:
Cannot read property 'data' of undefined
我不想返回回复,但希望将其传递给下一个处理程序,即responseError
。
我该怎么做? 我希望我说清楚。 感谢。
更新(以下代码):
app.config(['$httpProvider', function($httpProvider) {
interceptor.$inject = ['$q', '$rootScope'];
$httpProvider.interceptors.push(interceptor);
function interceptor($q, $rootScope) {
return {
response: response,
responseError: responseError
};
function response(response) {
if (response.data.rs == "F") {
// I want to route it responseError -->
} else {
return response;
}
}
function responseError(response) {
// I want to handle that error here
}
}
}]);