我需要触发类似于JQuery事件 ajaxStart 和 ajaxStop
我在这里找到了一个半解决方案 - >
How to set default HTTP header in Angular2?
所以,目前我可以处理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触发时调用我的animate loader,并在每次使用ajax请求时停止它。
所以我试图覆盖默认的ajax方法。但我找不到正确的可观察方法(
答案 0 :(得分:1)
你可以利用&#34;终于&#34;可观察的算子。
以下是使用示例:
post(url: string, body: string, options?: RequestOptionsArgs): Observable<Response> {
//onAjaxStart
$( "#loader" ).show();
return super.post(url, body, options).finally(() => {
//onAjaxStop
$( "#loader" ).hide();
});
}