如何以 Angular2 方式处理 ajaxStart 和 ajaxStop 事件

How to handle ajaxStart and ajaxStop events in Angular2 way

我需要触发类似于 JQuery 事件 ajaxStartajaxStop 我在这里找到了一半的解决方案-> 所以,目前我可以处理 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 方法。但是我找不到合适的可观察方法(

您可以利用 observable 的 "finally" 运算符。

这是一个使用示例:

post(url: string, body: string, options?: RequestOptionsArgs): Observable<Response> {
    //onAjaxStart
    $( "#loader" ).show();
    return super.post(url, body, options).finally(() => {
      //onAjaxStop
      $( "#loader" ).hide();
    });
}