Enjekte $devlet (uı-router) $http avcı neden içine döngüsel bağımlılık
Başarmak için çalışıyorum
$Http isteği 401 hatası döndürür halinde, belli bir devlet (giriş) geçiş yapmak istiyorum. Bu nedenle $http avcı oluşturduk.
Sorun
Eklemeye çalışıyorum zaman '$' ınterceptor içine dairesel bir bağımlılık. devlet Neden ve nasıl düzeltebilirim?
Kod
//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);
CEVAP
Düzeltme
$injector
servis ** 5 hizmet için bir başvuru almak için kullanır.
var interceptor = ['$location', '$q', '$injector', function($location, $q, $injector) {
function success(response) {
return response;
}
function error(response) {
if(response.status === 401) {
$injector.get('$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);
Neden
angular-ui-router ınterceptor gönderilmesi üzerine $httpProvider
içinde $http
kendisi için dairesel bir referans oluşturur $TemplateFactory
bir bağımlılık gibi $http
servis enjekte ediyor.
Aynı döngüsel bağımlılık hariç $http
hizmet doğrudan bir avcı gibi yani içine enjekte etmeye çalışırsanız atılmış olacaktır.
var interceptor = ['$location', '$q', '$http', function($location, $q, $http) {
Endişeleri ayrılması
Dairesel bağımlılık istisnalar bir kararlılık sorunlarına neden olabilir uygulamanız içinde kaygıları karıştırma olduğunu gösterebilir. Eğer bu durum kendinizi bulursanız mimarisi de kendilerine başvuran sonuna kadar herhangi bir bağımlılıkları önlemek sağlamak için bakmak için zaman almalıdır.
AngularJS: HTTP avcı (Döngüsel bağımlı...
Değil't küçük bir favicon başka b...
Nasıl ek açıklamalar kullanılarak yapı...
# 5 CTP uyumsuz C: neden iç "devl...
Enjekte Bahar fasulye içine alay Mocki...