我尝试使用http拦截器接收禁止或未经授权的http请求时执行状态导航,但我在$ state.go承诺中收到错误
Error: transition superseded
这是我responseError拦截:
angular.module('starter')
.factory('httpResponseInterceptor', function($injector) {
return {
responseError: function(errorResponse) {
var loginParams = {
info: true,
reason: 'Please login.',
title: errorResponse.data
};
var $state = $injector.get('$state');
switch (errorResponse.status) {
case 403:
$state.go('login', loginParams).then(function() {}, function(res) {
console.log(res);
});
break;
case 401:
$injector.get('$state').go('login', loginParams);
break;
}
return errorResponse;
}
};
});
有没有办法使用拦截器在这种情况下? 包装在$ state.go周围的超时将做的伎俩,虽然