0
在我目前的情況下,我使用一個$ http攔截器來捕獲響應錯誤並顯示一條簡單的消息讓用戶知道出了什麼問題。 但是現在我想區分加載頁面期間發送的請求或由於用戶本身的操作而發送的請求(按下按鈕,輸入字段...) 。如何知道一個頁面何時被完全加載(包括它的AJAX請求)
的$ httpInterceptor我想有實例:
return {
responseError: function (response) {
// IF THE REQUEST IS FROM A PAGE LOAD
// DO SOMETHING
// IF THE REQUEST IS NOT FROM A PAGE LOAD
// DO SOMETHING ELSE
return $q.reject(response);
}
};
爲了使它有點更清晰:
案例1:用戶正在等待頁面加載:
- REQ 1發送
- REQ 2發送
- REQ 3發送
- REQ 4 REQ的響應3
- REQ 5 REQ的響應4
- REQ 4 REQ的響應3
- REQ 6被髮送
- REQ 7被髮送之後發送後發送REQ 6的響應後
以上所有請求都是頁面加載的一部分,如果其中一個返回錯誤,它應該有一個特定的行爲。
請求時觸發的不是一個頁面加載的,因爲:
CASE 2:用戶按下一個按鍵:
- REQ 1被髮送
- REQ 2 REQ的響應之後發送1
這些要求ar e不是頁面加載的一部分,並且在發生錯誤時應採取不同的行爲。
有什麼辦法可以讓這兩種情況有所不同嗎? 由於我的項目非常大,我不想更改每個$ http請求的代碼,以確定它是否來自頁面加載,所以這對我來說不是一個解決方案。
退房此鏈接https://stackoverflow.com/questions/4231580/get-if-browser-is-busy – Nicolas
定義你是什麼意思與頁面loada,(諧音HTML和其他資產?) 。如果我理解你會在模板加載失敗時捕獲一些裝飾消息的異常,以及其他來自某種API的時候,我是否正確? –