以下是我服务的回复:
response = response.then(function (data) {
return data.data;
});
response.catch(function (data) {
$q.reject(data);
});
// Return the promise to the controller
return response;
在拦截器中我回来了:
return $q.reject();
但是,我仍然要回到:
response.then
有可能回到catch区块吗?
由于
添加更多代码:
.service('APIInterceptor', function ($q, $rootScope, UserService) {
var service = this;
service.request = function(config) {
return $q.reject();
//return config;
};
service.responseError = function (response) {
return response;
};
})
答案 0 :(得分:1)
您的.request
会产生错误(通过执行return $q.reject()
),但您的.responseError
“会处理”该错误(由于存在),从而导致整体成功解决。
确实,删除.responseError
处理程序会使错误冒泡到.catch
。或者,您也可以在return $q.reject()
中.responseError
。