Angular 4.3(拦截器)暂停请求

时间:2018-06-28 04:37:08

标签: angular angular-httpclient

使用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);
}

0 个答案:

没有答案