एक कोणीय 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
वर्ग में जोड़ सकता था और उसे काम करना चाहिए। हालाँकि, मैं इससे बचना चाहूंगा क्योंकि इन इंटरसेप्टर के पास पूरी तरह से अलग उद्देश्य (त्रुटि से निपटने के लिए, लोडिंग संकेतक दिखाने के लिए एक) है।
तो मैं कई इंटरसेप्टर कैसे जोड़ सकता हूं?
Http
। केवल अंतिम ओवरराइड का उपयोग किया जाता है। इंटरसेप्टर 1 को नजरअंदाज नहीं किया जाता है, यह सिर्फ गैर-मौजूद है। आप HttpClient का उपयोग कर सकते हैं जिसमें इंटरसेप्टर शामिल हैं।