小編給大家分享一下Angular http interceptors攔截器怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
黎平網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。AngularJS 簡介
AngularJS 是一個 JavaScript 框架。它可通過 <script> 標(biāo)簽添加到 HTML 頁面。
AngularJS 通過 指令 擴展了 HTML,且通過 表達式 綁定數(shù)據(jù)到 HTML。
攔截器
在開始創(chuàng)建攔截器之前,一定要了解 $q和延期承諾api
出于全局錯誤處理,身份驗證或請求的任何同步或異步預(yù)處理或響應(yīng)的后處理目的,希望能夠在將請求移交給服務(wù)器之前攔截請求,并在將請求移交給服務(wù)器之前將響應(yīng)攔截發(fā)起這些請求的應(yīng)用程序代碼-攔截器利用promise api滿足同步和異步預(yù)處理的需求。
攔截器是$httpProvider通過將它們添加到$httpProvider.interceptors數(shù)組而向其注冊的服務(wù)工廠。調(diào)用工廠并注入依賴項(如果指定),并返回攔截器。
有兩種攔截器(和兩種拒絕攔截器):
request:攔截器通過http config對象調(diào)用。該函數(shù)可以自由修改config對象或創(chuàng)建新對象。函數(shù)需要config直接返回對象,或者包含config或新config對象的Promise。
requestError:當(dāng)先前的攔截器拋出錯誤或被拒絕解決時,攔截器將被調(diào)用。
response:攔截器通過http response對象調(diào)用。該函數(shù)可以自由修改response對象或創(chuàng)建新對象。函數(shù)需要response直接返回對象,或者作為包含response或新response對象的承諾。
responseError:當(dāng)先前的攔截器拋出錯誤或被拒絕解決時,攔截器將被調(diào)用。
// register the interceptor as a service $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) { return { // optional method 'request': function(config) { // do something on success return config; }, // optional method 'requestError': function(rejection) { // do something on error if (canRecover(rejection)) { return responseOrNewPromise } return $q.reject(rejection); }, // optional method 'response': function(response) { // do something on success return response; }, // optional method 'responseError': function(rejection) { // do something on error if (canRecover(rejection)) { return responseOrNewPromise } return $q.reject(rejection); } }; }); $httpProvider.interceptors.push('myHttpInterceptor'); // alternatively, register the interceptor via an anonymous factory $httpProvider.interceptors.push(function($q, dependency1, dependency2) { return { 'request': function(config) { // same as above }, 'response': function(response) { // same as above } }; });
此處有一個坑,在push時,提示未定義攔截器,因為$httpProvider在config 攔截器時,攔截器service 還不能找到,
可以將攔截器service 定義在config依賴的模塊中使用。
以上是“Angular http interceptors攔截器怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文標(biāo)題:Angularhttpinterceptors攔截器怎么用-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://jinyejixie.com/article46/decchg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作、定制網(wǎng)站、網(wǎng)站維護、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容