Задержка ответа http в угловых с помощью rxjs - PullRequest
0 голосов
/ 07 июля 2019

У меня есть перехватчик, отвечающий за добавление токена доступа в заголовок 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 пытается отправить запрос снова и снова. В чем проблема?

1 Ответ

1 голос
/ 07 июля 2019

Вы используете оператор интервала.Это будет запускать событие после каждого n-го периода времени.Если вы хотите просто задержать, то используйте задержка оператор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...