Я попробую это, и если это сработает, щедрость ваша :) Спасибо

реализовал логику сохранения, извлечения токена, и у меня также есть обновление вызова. Проблема заключается в том, что когда я перехватываю 403 в моем HttpInterceptor, другие вызовы, которые выполняются одновременно, также обновляют токен. Я хотел бы держать эти звонки, пока мой токен не обновится. Чтобы создать то, что я бы назвал «семафором» запросов.

@Injectable()
export class TokenInterceptor implements HttpInterceptor {

private auth: AuthService;

constructor(private injector: Injector) {
}

intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    this.auth = this.injector.get(AuthService);

    if(this.auth.isAuthenticated()){
        request = request.clone({
            setHeaders: {
                Accept: 'application/json',
                Authorization: `Bearer ${localStorage.getItem('access_token')}`
            }
        });
    } else {
        request = request.clone({
            setHeaders: {
                Accept: 'application/json'
            }
        });
    }

    return next.handle(request).catch(error => {
        if (error.status === 401) {
            console.log('refreshing token');

            // TODO: return Refresh Token here and hold other calls
        }

        return Observable.throw(error);
    });
}

Ответы на вопрос(1)

Ваш ответ на вопрос