初始化后将数据传递给 HttpInterceptor

Pass data to an HttpInterceptor after it's been initialized

我有一个内部拦截器,我想在它加载后将数据传递给它。

更具体地说 - 我的应用程序可以在经过身份验证或未经身份验证的状态下使用。如果使用身份验证,我想将 authtoken 传递给拦截器,以便它可以为每个后续请求处理将令牌添加到 headers。

我试着让拦截器可注入,只是做了类似 this.interceptor.auhToken = token 的事情,但注入的行为似乎实例化了拦截器的另一个实例。

我的拦截器是这样提供的

{
  provide: HTTP_INTERCEPTORS,
  useClass: MainInterceptor,
  multi: true,
}

不要使用 useClass。使用 useExisting

否则你确实在两个不同的标记下注册拦截器 class 两次。