91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Angular http interceptors攔截器怎么用

發布時間:2021-08-12 09:45:36 來源:億速云 閱讀:132 作者:小新 欄目:web開發

小編給大家分享一下Angular http interceptors攔截器怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

AngularJS 簡介

AngularJS 是一個 JavaScript 框架。它可通過 <script> 標簽添加到 HTML 頁面。

AngularJS 通過 指令 擴展了 HTML,且通過 表達式 綁定數據到 HTML。

攔截器

在開始創建攔截器之前,一定要了解 $q和延期承諾api

出于全局錯誤處理,身份驗證或請求的任何同步或異步預處理或響應的后處理目的,希望能夠在將請求移交給服務器之前攔截請求,并在將請求移交給服務器之前將響應攔截發起這些請求的應用程序代碼-攔截器利用promise api滿足同步和異步預處理的需求。

攔截器是$httpProvider通過將它們添加到$httpProvider.interceptors數組而向其注冊的服務工廠。調用工廠并注入依賴項(如果指定),并返回攔截器。

有兩種攔截器(和兩種拒絕攔截器):

  • request:攔截器通過http config對象調用。該函數可以自由修改config對象或創建新對象。函數需要config直接返回對象,或者包含config或新config對象的Promise。

  • requestError:當先前的攔截器拋出錯誤或被拒絕解決時,攔截器將被調用。

  • response:攔截器通過http response對象調用。該函數可以自由修改response對象或創建新對象。函數需要response直接返回對象,或者作為包含response或新response對象的承諾。

  • responseError:當先前的攔截器拋出錯誤或被拒絕解決時,攔截器將被調用。

// 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攔截器怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中牟县| 安国市| 临夏县| 巍山| 梁山县| 新沂市| 神木县| 泽普县| 眉山市| 景谷| 龙胜| 呼玛县| 云梦县| 手游| 潞城市| 丽水市| 武宁县| 瑞昌市| 娄烦县| 滦南县| 克东县| 津南区| 高邑县| 陵川县| 遵义县| 开封县| 宜宾县| 铁岭市| 阳泉市| 万盛区| 临汾市| 新乐市| 庆安县| 秦皇岛市| 威信县| 宁城县| 潮安县| 平武县| 峨边| 南乐县| 慈利县|