Tenho um comportamento estranho com minhas requisições. Se a requisição gerar um erro, uma segunda requisição será iniciada automaticamente.
Aqui está um exemplo da minha solicitação:
this.http.post(environment['url'] + '/ws/verifier/documents/list', {}, {headers}).pipe(
tap((data: any) => {
....
}),
finalize(() => {
....
}),
catchError((err: any) => {
console.debug(err);
this.notify.handleErrors(err);
return of(false);
})
).subscribe();
Como posso fazer para evitar essa solicitação duplicada se um erro for gerado?
Obrigado
EDIT: Eu tenho este interceptador. Usado para atualizar o token se o erro 401 for gerado. Mas se for outro erro, a solicitação é reenviada. Existe alguma solução para evitar isso?
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
return next.handle(request).pipe(
catchError((err: any) => {
if (err.status === 401) {
return this.handle401Error(request, next);
}
return next.handle(request);
})
);
}