【发布时间】:2016-06-18 18:35:52
【问题描述】:
我的 angularjs 应用程序有一个 http 拦截器,它可以捕获任何 http 异常并处理它们。在某些情况下,我想从请求中捕获错误并在那里处理它们,以防止错误冒泡到拦截器。有谁知道这怎么可能? 这是拦截器:
angular.module('x')
.factory('HttpErrorHandlerFactory', ['$q', '$rootScope', function ($q, $rootScope) {
return {
'responseError': function (rejection) {
if (rejection.status == 0) return $q.reject(rejection);
if (rejection.data === '')
rejection.data = 'Error';
$rootScope.Message.Value = rejection.data;
return $q.reject(rejection);
}
};
}]);
这是在应用程序级别设置的,因此通过的任何 http 请求都会被此捕获。如果它们出错,它会捕获它们并显示消息。
通常,我们有这样的调用:
someFactory.GetSomething(scope.id)
.success(function (result) {
//do something with result
}).error(function(error){
//MY QUESTION IS, HOW TO GET THIS ERROR TO NOT BUBBBLE UP TO THE INTERCEPTOR
});
【问题讨论】:
-
需要更具体。我们不知道拦截器在做什么。提供相关代码
标签: javascript angularjs angular-http-interceptors