У меня есть перехватчик, отвечающий за добавление токена доступа в заголовок HTTP-запроса. В этом перехватчике я хотел бы добавить некоторую асинхронную операцию в отношении ответа. Для простоты я продемонстрирую асинхронное использование оператора интервала rxjs:
return next.handle(authReq).pipe(
((source: Observable<HttpEvent<any>>) => {
return new Observable<HttpEvent<any>>((sub: Subscriber<HttpEvent<any>>) => {
source.subscribe((
response: HttpEvent<any>) => interval(1000).subscribe(() => sub.next(response)),
err => sub.error(err),
() => sub.complete());
});
})
);
Я ожидаю 1-секундную задержку обработки ответа, но в целом приложение должно работать нормально. Но это не так. Кажется, что Angular пытается отправить запрос снова и снова. В чем проблема?