Используя 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);
}