Я создаю экземпляр MyService в app.module.ts и предоставляю его в своем коде.
Однако я хочу, чтобы MyService использовал httpClient, и я не могу идиоматически создать экземпляр httpClient для передачи в качестве параметра MyService. Я не уверен, что правильный способ доступа к httpClient в MyService.
Я смотрел на создание экземпляра httpClient напрямую, а затем на передачу его в качестве параметра моему сервису. Однако, похоже, это создает круговую зависимость. Я также пытался связываться с инжекторами, но это явно рекомендовано командой Angular. Я чувствую, что упускаю что-то простое.
app.module.ts
imports: [
...
httpClientModule
...
],
function MainServiceFactory() {
return new MyService();
}
...
providers: [{
provide: MyService,
useFactory: MainServiceFactory
}],
...
MyService.ts
...
constructor(private http : HttpClient) {
...
}
Без создания экземпляра и передачи в качестве параметра httpClient: я получаю «ошибку в app.module.ts, ожидаемый 1 аргумент», естественно!
С экземпляром нарушаю угловые рекомендации.
Edit:
Я забыл указать, что импортировал httpClientModule