其实之前我一直很反感angular的module设定,直到。。。
直到我需要在某些特定模块不使用拦截器,比如我在AppModule里导入了HttpClientModule,同时声明了几个拦截器,但是我在某些模块不想用这些拦截器了。。。
方法就是在特定模块重新导入HttpClientModule
import { NgModule } from '@angular/core';
import { SharedModule } from '@shared';
import { EditorRoutingModule } from './editor-routing.module';
import { EditorComponent } from './editor.component';
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
import { RetryInterceptor } from '@core/net/retry.interceptor';
@NgModule({
imports:[EditorRoutingModule,SharedModule, HttpClientModule,
],
providers:[{provide:HTTP_INTERCEPTORS,useClass:RetryInterceptor,multi:true}],
declarations:[EditorComponent]
})
export class EditorModule{
}
于是,在EditorModule里发出的请求只会适用RetryInterceptor拦截器
网友评论