私はデフォルトの角度2のHTTPサービスを上書きするカスタムHTTPサービスを持っています。このサービスは、カスタムデフォルトオプションを設定し、要求開始時にローダーを設定し、要求完了時にローダーを非表示にします。角度2のhttpキャッチの観察可能な問題
サーバーから不正なエラー(401,403)が受信された場合に備えて、ユーザーをログインページにリダイレクトする機能も追加します。例えば、以下の私のHTTPメソッドは
get(url: string, options?: RequestOptionsArgs): Observable<any> {
this.setLoadingStatus();
options = this.prepareOptions(options);
let that = this;
return super.get(url, options)
.map(res => {
this.clearLoadingStatus();
return res.json();
})
.catch(function (err) {
//redirects user to login and display alert
that._gs.alertUnauthorized();
return Observable.empty();
});
}
である。しかし、ブラウザでのテスト、それはすなわち不正な要求の場合には401を返し保護されたページを要求するとき、それは、ログインページにリダイレクトしますが、コンソールが表示エラー以下doest:
GET http://localhost:49547/api/protected/ 401 (Unauthorized)
EXCEPTION: Observable_1.Observable.empty is not a function
ORIGINAL STACKTRACE:
TypeError: Observable_1.Observable.empty is not a function
誰でもガイドできますか? 。あなたがempty
機能インポートする必要が
は 'super.get()マップ((RES)=> {}、(ERR)=> {})を試してみてください;'構文を? –