如何向Angular 4应用程序添加多个独立的HTTP拦截器?
我试图通过使用多个拦截器扩展providers
数组来添加它们.但只有最后一个被实际执行,Interceptor1
被忽略.
@NgModule({
declarations: [ /* ... */ ],
imports: [ /* ... */ HttpModule ],
providers: [
{
provide: Http,
useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions) =>
new Interceptor1(xhrBackend, requestOptions),
deps: [XHRBackend, RequestOptions],
},
{
provide: Http,
useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions) =>
new Interceptor2(xhrBackend, requestOptions),
deps: [XHRBackend, RequestOptions]
},
],
bootstrap: [AppComponent]
})
export class AppModule {}
很明显,我可以把它们合并成一个Interceptor
个班,这应该行得通.然而,我想避免这种情况,因为这些拦截器有完全不同的用途(一个用于错误处理,一个用于显示加载指示器).
那么如何添加多个拦截器呢?