1

JQuery イベントajaxStartおよびajaxStopと同様にトリガーする必要があります。 ここで半分の解決策を見つけました -> Angular2 でデフォルトの HTTP ヘッダーを設定する方法は? そのため、現時点ではajaxStartイベントを処理できます。

ajaxStopイベントを処理する方法はありますか?

post(url: string, body: string, options?: RequestOptionsArgs): Observable<Response> {
    //onAjaxStart
    $( "#loader" ).show();
    return super.post(url, body, options); //Any method here to handle event?
}

を使用しようとしました.catch()が、onError のみが発生します

ajaxが起動したときにアニメーションローダーを呼び出し、ajaxリクエストを使用するたびに停止すると非表示にする必要があります。

だから私はデフォルトのajaxメソッドをオーバーライドしようとしています。しかし、正しい監視可能なメソッドが見つかりません(

4

1 に答える 1

1

observable の「finally」演算子を活用できます。

使用例は次のとおりです。

post(url: string, body: string, options?: RequestOptionsArgs): Observable<Response> {
    //onAjaxStart
    $( "#loader" ).show();
    return super.post(url, body, options).finally(() => {
      //onAjaxStop
      $( "#loader" ).hide();
    });
}
于 2016-04-25T15:33:47.570 に答える