0
こんにちは私は、angular2でhttpリクエストの後にグローバル401エラーを処理したいと思います。 BaseResponseOptionsクラスを拡張したいと思います。これは正しい方法ですか?BaseResponseOptions angular2グローバルエラーの処理
こんにちは私は、angular2でhttpリクエストの後にグローバル401エラーを処理したいと思います。 BaseResponseOptionsクラスを拡張したいと思います。これは正しい方法ですか?BaseResponseOptions angular2グローバルエラーの処理
Http
クラス自体を拡張して、このようなエラーをグローバルに処理できます。この方法で、catch
演算子を基礎となるリクエストで活用し、401エラーを捕捉することができます。
@Injectable()
export class CustomHttp extends Http {
constructor(backend: ConnectionBackend, defaultOptions: RequestOptions) {
super(backend, defaultOptions);
}
request(url: string | Request, options?: RequestOptionsArgs): Observable<Response> {
console.log('request...');
return super.request(url, options).catch(res => {
// do something
});
}
get(url: string, options?: RequestOptionsArgs): Observable<Response> {
console.log('get...');
return super.get(url, options).catch(res => {
// do something
});
}
}
と以下のように登録:
bootstrap(AppComponent, [HTTP_PROVIDERS,
new Provider(Http, {
useFactory: (backend: XHRBackend, defaultOptions: RequestOptions) => new CustomHttp(backend, defaultOptions),
deps: [XHRBackend, RequestOptions]
})
]);
のみ応答オプションを使用して、あなたはリクエスト/レスポンスを傍受することはできません。
http://stackoverflow.com/questions/35498456/what-is-httpinterceptor-equivalent-in-angular2/35499034#35499034のように見えます。 –