Làm cách nào để thêm nhiều bộ chặn HTTP độc lập vào ứng dụng Angular 4?Thêm nhiều Trình chặn HTTP vào Ứng dụng Góc
Tôi đã cố thêm chúng bằng cách mở rộng mảng providers
với nhiều thiết bị chặn. Nhưng chỉ cái cuối cùng mới được thực thi, Interceptor1
bị bỏ qua.
@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 {}
Tôi rõ ràng có thể kết hợp chúng thành một lớp duy nhất Interceptor
và điều đó sẽ hoạt động. Tuy nhiên, tôi muốn tránh điều đó vì các bộ chặn này có các mục đích hoàn toàn khác nhau (một để xử lý lỗi, một để hiển thị một chỉ báo tải).
Vậy làm cách nào tôi có thể thêm nhiều thiết bị chặn?
Bạn đang ghi đè 'Http'. Chỉ ghi đè cuối cùng mới được sử dụng. Interceptor1 không bị bỏ qua, nó chỉ là không tồn tại. Bạn có thể sử dụng HttpClient có interceptors bao gồm. – estus
@estus Ý của bạn là gì? "Bạn có thể sử dụng HttpClient có bộ chặn."? – str
https://angular.io/guide/http – estus