/ / Инжектирайте http клиента в HTTP Interceptor Angular 4 - ъглови, ъглово-http-прехващачи

Инжектирайте http клиента в HTTP Interceptor Angular 4 - ъглови, ъглово-http-interceptors

Как мога да инжектирам http client в HTTP Interceptor? Всеки път, когато го правя, той хвърля: Uncaught Error: Provider parse errors: Cannot instantiate cyclic dependency! InjectionToken_HTTP_INTERCEPTORS ("[ERROR ->]"): in NgModule AppModule in ./AppModule@-1:-1

мой interceptor изглежда като:

@Injectable()
export class CustomHttpInterceptor implements HttpInterceptor {

constructor(private ehs: ErrorHandlerService,
private localStorageService: LocalStorageService,
private router: Router,
private http: HttpClient
){}

Отговори:

1 за отговор № 1

Uou може да използва Injector

  constructor(inj: Injector) {
this.auth = inj.get(AuthService)
}

Вижте този пример: https://plnkr.co/edit/8CpyAUSJcCiRqdZmuvt9?p=preview

https://angular.io/api/core/Injector

Дълги разговори по този въпрос тук: https://github.com/angular/angular/issues/18224