Bonjour,
aujourd'hui je travaille sur mon interceptor, ce dernier sert uniquement a démarrer une barre de chargement lorsqu'une requête est lancée et j'aimerais également la stopper quand le résultat ou l'erreur me revient.

Pour le moment, j'arrive très bien a la désactiver mais seulement dans le cas d'une erreur, en plaçant ma fonction d’arrêt dans le catchError (Voir code ci-après).

Quel serait la méthode équivalente pour un retour sans 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
 
return next.handle(request)
    .pipe(
      catchError((returnedError) => {
 
        // Si erreur retournee, je desactive mon chargement
        this.loadingService.desactivate();
 
        if (returnedError.error instanceof ErrorEvent) {
          this.errorMessage = `Error: ${returnedError.error.message}`;
        } else if (returnedError instanceof HttpErrorResponse) {
          this.errorMessage = `Error Status ${returnedError.status}: ${returnedError.error.error} - ${returnedError.error.message}`;
        } 
 
        console.error(this.errorMessage ? this.errorMessage : returnedError);
        return Observable.throw(returnedError);
      })
    );
Comment exécuter une action a l'issue positive d'une requête ?

Si j'ajoute l'operateur tap dans mon pipe, etrangement la fonction est jouée avant le retour de la requete, cela ne fonctionne donc pas comme attendu:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
tap(evt => {this.loadingService.desactivate();})
Merci par avance !