Hello,
Je souhaite afficher dans mon template le message d'erreur notifié dans l'observable de l'operateur throwError mais je ne sais pas comment m'y prendre
Voici un code d'exemple : j'ai une requête http.get() qui émet un tableau du modèle 'Person' ou bien un message d'erreur
Merci !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 // model----------------------------------------------------------------------------- export class Person { id: number name: string } // Dans le service----------------------------------------------------------------- handleError(httpError: HttpErrorResponse): Observable<never> { // L'erreur provient du client if (httpError.error instanceof ErrorEvent) { console.error(`Une erreur est survenue : ${httpError.error.message}`); } else { // Le back-end renvoie un code d'erreur, console.error(`code d'erreur retourné : ${httpError.status}, corps de réponse ${httpError.error}`); } // Message d'erreur destiné à l'utilisateur à afficher dans le template return throwError('Une erreur est survenue, veuillez réessayer ultérieurement.'); } getListPersonService { return this.http.get<Person[]>(`${this.baseURL}people`, { headers: this.headerOptions }) .pipe( catchError(this.handleError) ); } //Dans le TS component--------------------------------------------------------------------- person: Person[] // Souscription : comment récupérer le message d'erreur quand ça tourne mal ? getListPerson(): void { this.apiService.getListPersonService() .subscribe((value) => { this.person = value; }) }
Partager