จะเพิ่มตัวดักจับ 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
ชั้นเรียนเดียวได้และน่าจะได้ผล อย่างไรก็ตามฉันต้องการหลีกเลี่ยงเนื่องจากตัวดักจับเหล่านี้มีจุดประสงค์ที่แตกต่างกันโดยสิ้นเชิง (อันหนึ่งสำหรับการจัดการข้อผิดพลาดอันหนึ่งเพื่อแสดงตัวบ่งชี้การโหลด)
ฉันจะเพิ่มตัวดักจับหลายตัวได้อย่างไร
Http
คุณกำลังเอาชนะ ใช้การแทนที่สุดท้ายเท่านั้น Interceptor1 ไม่ถูกละเว้นมันเป็นเพียงแค่ไม่มีอยู่จริง คุณสามารถใช้ HttpClient ที่มี interceptors รวมอยู่ด้วย