<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                >[danger]axios的請求攔截和響應攔截底層實現原理是什么? Axios 的請求攔截和響應攔截的底層實現原理是通過使用攔截器(interceptor)來實現的。 請求攔截器和響應攔截器都是基于 Axios 的攔截器機制來實現的。攔截器是一個函數,可以在請求發送之前或響應返回之后對其進行處理。Axios 通過 `interceptors` 對象提供了 `request` 和 `response` 屬性來訪問請求攔截器和響應攔截器。 具體實現原理如下: 1. 請求攔截器原理: - Axios 使用 `axios.interceptors.request.use()` 方法添加請求攔截器。 - 該方法接收兩個參數:一個是成功回調函數,一個是錯誤回調函數。 - 當發送請求時,請求會先經過請求攔截器的成功回調函數,然后再發往服務器。 - 成功回調函數可以對請求進行修改或增加額外的配置信息等。 - 如果請求攔截器的成功回調函數中發生錯誤,會觸發錯誤回調函數。 2. 響應攔截器原理: - Axios 使用 `axios.interceptors.response.use()` 方法添加響應攔截器。 - 該方法也接收兩個參數:一個是成功回調函數,一個是錯誤回調函數。 - 當接收到服務器響應后,響應會先經過響應攔截器的成功回調函數,然后再返回給調用方。 - 成功回調函數可以對響應進行修改、過濾或處理等。 - 如果響應攔截器的成功回調函數中發生錯誤,會觸發錯誤回調函數。 通過使用請求攔截器和響應攔截器,我們可以在請求發出前和響應返回后對其進行預處理以及統一處理錯誤。例如,在請求攔截器中可以設置統一的請求頭,而在響應攔截器中可以對返回的數據進行格式化或錯誤處理。 需要注意的是,攔截器是基于 Promise 實現的,可以通過 `Promise.resolve()` 和 `Promise.reject()` 來控制攔截器的執行流程。同時,攔截器可以添加多個,它們會按照添加的順序依次執行。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看