Я пытаюсь сделать государственную навигацию при получении запрещенного или несанкционированного 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 сделает трюк, хотя