내가 이루고자하는 것
$ http 요청이 401 오류를 반환하는 경우 특정 상태 (로그인)로 전환하고 싶습니다. 따라서 $ http 인터셉터를 만들었습니다.
문제
인터셉터에 '$ state'를 삽입하려고 할 때 순환 종속성이 발생합니다. 왜 그리고 어떻게 수정합니까?
암호
//Inside Config function
var interceptor = ['$location', '$q', '$state', function($location, $q, $state) {
function success(response) {
return response;
}
function error(response) {
if(response.status === 401) {
$state.transitionTo('public.login');
return $q.reject(response);
}
else {
return $q.reject(response);
}
}
return function(promise) {
return promise.then(success, error);
}
}];
$httpProvider.responseInterceptors.push(interceptor);