Angular 8 - код после навигации изнутри перехватчиком - PullRequest
1 голос
/ 24 января 2020

Что произойдет, если я пойду из перехватчика? Смотрите мой код ниже. Будет ли он игнорировать весь другой код, который должен был прийти после маршрутизации, или он продолжит выполнять код? Достигнет ли он throwError и достигнет ли он службы, выполняющей HTTP-запрос, и компонента, вызывающего метод запроса службы, в случае ошибки 500 (также, что происходит в 401)?

    intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    return next.handle(request).pipe(
        catchError(err => {

            let errorMessage = '';
            if(err instanceof HttpErrorResponse) { // server side error

                switch (err.status) { 
                    case 401:
                        errorMessage = "Ongeldige inloggegevens"  
                        break;
                    case 500:     //server error
                        let error = "Er is iets mis gegaan! Probeer het later nog eens.";
                        this.router.navigate(['error500'], { state: { message: error, title: 'Error ' + err.status }});
                        break;
            }

            return throwError(errorMessage);
        }
    }
  ))
}
...