Как добавить несколько независимых HTTP-перехватчиков в приложение Angular 4?
Я попытался добавить их, расширив массив 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
, и это должно сработать. Однако я хотел бы избежать этого, поскольку эти перехватчики имеют совершенно разные цели (один для обработки ошибок, один для показа индикатора загрузки).
Итак, как я могу добавить несколько перехватчиков?