Tentei responder seu questionamento, estou fazendo o curso e me deparei com algumas adaptaçoes necessárias. Segue a minha:
import { Component } from '@angular/core'; import { Carro } from 'src/modelos/carro'; import { HttpClient, HttpErrorResponse} from '@angular/common/http'; import { LoadingController, AlertController, IonButtons } from '@ionic/angular';
@Component({ selector: 'app-tab1', templateUrl: 'tab1.page.html', styleUrls: ['tab1.page.scss'] }) export class Tab1Page { public carros: Carro[]; constructor( private _http: HttpClient, private _loadingCtrl: LoadingController, private _alertCtrl: AlertController) {
this._loadingCtrl.create({
message: 'Aguarde...',
duration: 2000
}).then((res) => {
res.present();
res.onDidDismiss().then((dis) => {
console.log('Loading dismissed! after 2 Seconds', dis);
});
});
this._http.get<Carro[]>('http://localhost:8080/api/carro/listaTodos')
.subscribe(
(carros) => {
this.carros = carros;
},
async (err: HttpErrorResponse) => {
//loading.finally();
const alert = await this._alertCtrl.create({
cssClass: 'my-custom-class',
header: 'Falha',
subHeader: 'Erro de comunicação com API',
message: 'Não foi possível carregar API',
buttons: ['OK']
});
await alert.present();
}
);
}
}