Angular 4.3 (Interceptor) запрос на паузу - PullRequest
0 голосов
/ 28 июня 2018

Используя Angular v6, также @ angular / common / http

Попытка написать перехватчик, который будет проверять, не истек ли токен, и в этом случае отправлять http-запрос на сервер, в то время как другие запросы должны ждать.

Пример в token.interceptor.ts

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

  if (this.tokenHasExpired) {
    if (!this.token) {
      return from('token').pipe(
        mergeMap(() => this.auth.refreshToken()),
        tap(() => {
          this.tokenHasExpired = false;
        }),
        mergeMap(() => next.handle(req)),
      );
    }
  }

  return next.handle(req);
}
...