【angularjs 】攔截器解析

1、攔截器的由來:$httpAngularJS的$http服務允許通過HTTP請求方式與後臺進行通信。在一些情況下需要俘獲所有的請求,並在其發送到服務端之前進行操作。還有一些情況是俘獲響應,並且在完成調用前處理它。

 

2、$httpProvider中有一個intercetors數組,而所謂攔截器只是一個簡單的註冊到該數組中的常規服務工廠。

 

3、request方法攔截請求:該方法會在$http發送請求前執行,該方法接受請求配置對象(request configuration object)作爲參數,然後必須返回配置對象或者promise。 如果返回無效的配置對象或者 promise 則會被拒絕,導致 $http 調用失敗。

 

4、response方法攔截響應:該方法會在$http接收響應後執行,該方法接收響應對象(response object)作爲參數,然後必須返回響應對象或者promise。 響應對象包括了請求配置(request configuration),頭(headers),狀態(status)和從後臺過來的數據(data)。如果返回無效的響應對象或者 promise 會被拒絕,導致$http 調用失敗。

 

5、 requestError 方法攔截請求異常: 有時候一個請求發送失敗或者被攔截器拒絕了。請求異常攔截器會俘獲那些被上一個請求攔截器中斷的請求。它可以用來恢復請求或者有時可以用來撤銷請求之前所做的配置,比如說關閉進度條,激活按鈕和輸入框什麼之類的。

 

6、 responseError 方法攔截響應異常: 有時候我們後臺調用失敗了。也有可能它被一個請求攔截器拒絕了,或者被上一個響應攔截器中斷了。在這種情況下,響應異常攔截器可以幫助我們恢復後臺調用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章