Как вы справляетесь с восстановлением в угловом перехватчике? - PullRequest
0 голосов
/ 27 сентября 2019

Как я могу восстановить перехваченный HTTP-запрос в угловом формате?

Вот пример стратегии перехвата и замены с Observables

https://blog.angular -university.io / rxjs-error-processing /

Цель состоит в том, чтобы отловить ошибку, обработать ее и вернуть «успех», наблюдаемый исходному подписчику.Я не могу заставить это работать с перехватчиком Angular.

Это тупой код, но если я возвращаю наблюдаемый, он не добьется успеха исходного подписчика.Однако, это будет завершено.И throwError работает как положено.

intercept(
    req: HttpRequest<any>,
    next: HttpHandler
): Observable<HttpEvent<any>> {

return next
  .handle(req)
  .pipe(
    catchError((error, caught) => {
       return of('this does not work');
       //throwError('this works as expected');
    })
  );

}

1 Ответ

1 голос
/ 27 сентября 2019

перехватчик должен вернуть Observable<HttpEvent<any>>

try:

 return of(new HttpResponse({ body: {} }));
...