IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Angular Discussion :

Emploi de throwError operator


Sujet :

Angular

  1. #1
    Membre éprouvé
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 503
    Par défaut Emploi de throwError operator
    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

    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;
          })
      }
    Merci !

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    getListPerson(): void {
        this.apiService.getListPersonService()
          .subscribe(
             (value) => {
                 this.person = value;
             },
             (error) => {
                 console.log(error);
             }
         )
      }

  3. #3
    Membre éprouvé
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 503
    Par défaut
    merci comme d'hab.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Le grand mode d'emploi du forum, à lire si vous souhaitez tout savoir !
    Par Anomaly dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 03/06/2013, 17h36
  2. [JSP] thread ? Message d'avancement des operations en cours
    Par buffyann dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 18/12/2003, 11h39
  3. operation sur des alias
    Par 74160 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/11/2003, 18h19
  4. Réponses: 19
    Dernier message: 14/08/2003, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo