Ionic 4 Сервисный конструктор никогда не вызывался -> httpClient http.get fail - PullRequest
0 голосов
/ 20 марта 2019

Я потерян здесь, у меня нет понятия, почему у меня эта ошибка:

Ионная 4

У меня есть сервис для всех моих остальных API-коммуникаций. http в службе не определено, поэтому .post завершится ошибкой. Так почему мой конструктор служб никогда не вызывается?

ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'post' 
of undefined
TypeError: Cannot read property 'post' of undefined
at Object.<anonymous> (http-service.service.ts:27)
...

HTTP-service.service.ts:

import {Injectable} from '@angular/core';
import {HttpClient} from '@angular/common/http';

@Injectable()
export class HttpServiceService {
constructor(
    private httpClient: HttpClient
) {
    console.log('service'); // not called
}

async poster() {
    console.log(this.httpClient); // undefined
     this.httpClient
        .post(this.backend_url, {/*params*/})
        .subscribe(res => {});

}
}

app.module.ts

...
import {HttpClient} from '@angular/common/http';
import {HttpClientModule} from '@angular/common/http';

import {HttpServiceService} from './http-service.service';

@NgModule({
    declarations: [AppComponent],
    entryComponents: [],
    imports: [
        BrowserModule,
        HttpClientModule,
        IonicModule.forRoot(),
        IonicStorageModule.forRoot(),
        AppRoutingModule,
    ],
    providers: [
        StatusBar,
        SplashScreen,
        HttpClient,
        HttpServiceService,
        {provide: RouteReuseStrategy, useClass: IonicRouteStrategy}
    ],
    bootstrap: [AppComponent]
})
export class AppModule {
}

some.page.ts

import {HttpServiceService} from '../http-service.service';
...
constructor(private http: HttpServiceService) {...}
....
this.http.poster()

ОБНОВЛЕНИЕ (2019-03-21 17:50 (GMT)): Уже пытался.

  • удалить HttpClient из app.module.ts
  • добавить @Injectable ({предоставлено: «root»})
  • удалить HttpServiceService из app.module.ts
  • частный http: http; импортировать {Http} из '@ angular / http'; (устарело между прочим)

Посмотрите на весь код: https://github.com/digital-scouts/Frontend/tree/dev/src/app Мой http-сервис называется в loading.page.ts: 100

ОБНОВЛЕНИЕ КОНЕЦ

...