Điều tôi đang cố gắng đạt được
Tôi muốn chuyển sang một trạng thái nhất định (đăng nhập) trong trường hợp yêu cầu $ http trả về lỗi 401. Do đó, tôi đã tạo một trình chặn $ http.
Vấn đề
Khi tôi cố gắng chèn '$ state' vào bộ đánh chặn, tôi nhận được sự phụ thuộc vòng tròn. Tại sao và làm thế nào để tôi sửa chữa nó?
Mã
//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);