Что произойдет, если я пойду из перехватчика? Смотрите мой код ниже. Будет ли он игнорировать весь другой код, который должен был прийти после маршрутизации, или он продолжит выполнять код? Достигнет ли он 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);
}
}
))
}