我正在使用 single-spa.js 库在同一系统中制作多个 Angular 应用程序。现在,我在每个应用程序的 app.module 中使用类似这样的代码的每个应用程序使用 httpInterceptor
@NgModule({
declarations: [
// etc..
],
imports: [
BrowserModule,
HttpClientModule,
StoreModule.forRoot(reducers, {
metaReducers,
}),
!environment.production ? StoreDevtoolsModule.instrument() : [],
// etc...
],
bootstrap: [
AppComponent
],
providers: [httpInterceptorProviders, DataService, FuseSplashScreenService, WindowRefService,
AuthGuardService,
AppInitService]
})
export class AppModule {
}
拦截器按预期正常工作,但有多个拦截器会导致线程安全问题,并导致令牌在请求之间混淆(来自 1 个应用程序的拦截器使用本地存储中的令牌并向服务器发送请求,当拦截器来自在第一个应用程序的响应更新本地存储中的令牌之前,应用程序 2 使用了相同的令牌。).. 导致来自 app2 请求的“无效令牌”服务器响应。
我的问题是,有没有办法在我的项目中跨多个应用程序使用一个 http 拦截器?