Angular可选多个拦截器-为什么注入为null?
创始人
2024-10-27 20:01:24
0

在Angular中,可以使用拦截器来处理HTTP请求和响应。有时需要在多个拦截器之间切换或添加可选拦截器。但是,在使用可选拦截器时,有时会遇到注入null的问题。

解决这个问题的方法是添加一个provideIn选项,并将其设置为“root”。这将确保提供程序在根注入器中注册,并且不会在任何地方注入null。

以下是一个示例拦截器:

@Injectable({ providedIn: 'root' })
export class MyInterceptor implements HttpInterceptor {
  constructor() {}

  intercept(req: HttpRequest, next: HttpHandler): Observable> {
    // Do something with the request
    const modifiedReq = req.clone({ headers: req.headers.append('Authorization', 'Bearer my-token') });

    // Pass the request to the next interceptor or HttpHandler
    return next.handle(modifiedReq);
  }
}

要在应用程序中添加多个拦截器,只需将它们作为provideIn选项为“root”的单独服务进行注册,然后在HttpClient模块中使用provide选项注入它们。如下所示:

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, HttpClientModule],
  providers: [
    { provide: HTTP_INTERCEPTORS, useClass: MyInterceptor, multi: true },
    { provide: HTTP_INTERCEPTORS, useClass: AnotherInterceptor, multi: true }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

通过将多个拦截器注册为单独的服务,并使用provide选项将它们注入到HttpClient模块中,您可以在应用程序中使用任意数量的拦截器,而无需担心注入为null的问题。

相关内容

热门资讯

黑科技了解(WePoKe外挂)... 黑科技了解(WePoKe外挂)外挂透明挂辅助方法(透视)总是有挂(黑科技方法)1、操作简单,无需注册...
黑科技玄学(WEPoke)辅助... 黑科技玄学(WEPoke)辅助是真的吗(黑科技)辅助功能(原来是有挂);黑科技玄学(WEPoke)辅...
玩家辅助(微扑克)ai辅助神器... 玩家辅助(微扑克)ai辅助神器(辅助挂)ai胜率(好像是有挂)1、这是跨平台的黑科技,在线的操作超级...
黑科技辅助挂(aa扑克外挂)外... 黑科技辅助挂(aa扑克外挂)外挂黑科技辅助器(透视)其实真的是有挂(黑科技方法);1、下载好aa扑克...
黑科技软件(WePoke)黑科... 黑科技软件(WePoke)黑科技靠谱吗(黑科技)辅助插件(确实是有挂)1、许多玩家不知道辅助软件怎么...
黑科技规律(智星德州菠萝有挂吗... 黑科技规律(智星德州菠萝有挂吗)外挂透视辅助方法(透视)其实真的是有挂(黑科技黑科技)1、在智星德州...
黑科技挂(wepoker)辅助... 自定义系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想分享给你好...
黑科技讲解(wepoke确实有... 黑科技讲解(wepoke确实有挂)外挂透视辅助技巧(透视)其实是有挂(黑科技介绍)wepoke确实有...
教你辅助(微扑克)ai防封(辅... 教你辅助(微扑克)ai防封(辅助挂)ai胜率(一贯是真的有挂)是一款可以让一直输的玩家,快速成为一个...
黑科技智能ai(德州之星辅助挂... 黑科技智能ai(德州之星辅助挂)外挂黑科技辅助插件(透视)真是是真的有挂(黑科技详情);1、每一步都...