精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Axios如何取消請求,其原理是什么?

開發 前端
Axios 取消請求的原理是基于底層網絡請求庫(如 XMLHttpRequest 或 Fetch)提供的中止機制。當調用取消令牌的 cancel 方法時,Axios 會觸發中止底層的網絡請求,從而終止正在進行的請求過程。

axios 可以通過創建一個 CancelToken 來取消一個請求,基本原理是:

  1. 創建一個 CancelToken 的實例,它有一個 executor 函數,可以通過調用 executor 參數中的 cancel 函數來取消請求。
  2. 在 axios 請求配置中指定 cancelToken 屬性,將 CancelToken 實例傳遞進去。
  3. 當我們需要取消請求時,調用 CancelToken 實例的 cancel() 方法即可取消對應的請求。
  4. axios 檢測到配置的 cancelToken 被取消,就會取消掉這個請求,并在錯誤回調中返回一個 Cancel 錯誤。axios 內部會監聽 cancelToken 實例的 cancel 信號,一旦觸發就會跳出隊列,取消對應請求的執行。示例代碼:
js
const CancelToken = axios.CancelToken;
const source = CancelToken.source();


axios.get('/user', {
  cancelToken: source.token
}).catch(function(thrown) {
  if(axios.isCancel(thrown)) {
    console.log('Request canceled', thrown.message);
  } else {
    // 處理錯誤
  }
});


// 取消請求
source.cancel('Operation canceled by the user.');

vue、React項目中如何取消

在基于 React 或 Vue 的應用中,可以通過封裝 Axios 并結合組件的狀態管理來實現取消請求的功能。下面分別介紹在 React 和 Vue 中如何實現這一點。

在 React 中的實現:

  1. 創建一個封裝的 Axios 實例,以便于應用中的多個組件共享相同的配置和取消令牌。
// axiosInstance.js
import axios from 'axios';


const instance = axios.create();


export default instance;
  1. 在組件中使用這個封裝的 Axios 實例,并結合組件的狀態管理來處理取消請求的邏輯。
// YourComponent.js
import React, { useState } from 'react';
import axiosInstance from './axiosInstance';


function YourComponent() {
  const [loading, setLoading] = useState(false);
  const [data, setData] = useState(null);


  const source = axiosInstance.CancelToken.source();


  const fetchData = async () => {
    try {
      setLoading(true);
      const response = await axiosInstance.get('/api/some-endpoint', {
        cancelToken: source.token
      });
      setData(response.data);
      setLoading(false);
    } catch (error) {
      if (axiosInstance.isCancel(error)) {
        console.log('請求被取消:', error.message);
      } else {
        // 處理其他錯誤
      }
      setLoading(false);
    }
  };


  const cancelRequest = () => {
    source.cancel('請求被用戶取消');
  };


  return (
    <div>
      {loading ? <p>Loading...</p> : <p>{data}</p>}
      <button onClick={fetchData}>Fetch Data</button>
      <button onClick={cancelRequest}>取消請求</button>
    </div>
  );
}


export default YourComponent;

在 Vue 中的實現:

  1. 創建一個封裝的 Axios 實例,同樣可以讓多個組件共享相同的配置和取消令牌。
// axiosInstance.js
import axios from 'axios';


const instance = axios.create();


export default instance;
  1. 在組件中使用這個封裝的 Axios 實例,并結合組件的狀態管理來處理取消請求的邏輯。
<template>
  <div>
    <p v-if="loading">Loading...</p>
    <p v-else>{{ data }}</p>
    <button @click="fetchData">Fetch Data</button>
    <button @click="cancelRequest">取消請求</button>
  </div>
</template>


<script>
import axiosInstance from './axiosInstance';


export default {
  data() {
    return {
      loading: false,
      data: null,
      source: axiosInstance.CancelToken.source()
    };
  },
  methods: {
    async fetchData() {
      try {
        this.loading = true;
        const response = await axiosInstance.get('/api/some-endpoint', {
          cancelToken: this.source.token
        });
        this.data = response.data;
        this.loading = false;
      } catch (error) {
        if (axiosInstance.isCancel(error)) {
          console.log('請求被取消:', error.message);
        } else {
          // 處理其他錯誤
        }
        this.loading = false;
      }
    },
    cancelRequest() {
      this.source.cancel('請求被用戶取消');
    }
  }
};
</script>

原理

Axios 取消請求的原理是基于底層網絡請求庫(如 XMLHttpRequest 或 Fetch)提供的中止機制。當調用取消令牌的 cancel 方法時,Axios 會觸發中止底層的網絡請求,從而終止正在進行的請求過程。

具體來說,以下是 Axios 取消請求的原理:

  1. 創建 CancelToken 對象: 在發起請求之前,可以通過 axios.CancelToken.source() 方法創建一個 CancelToken 對象,并獲取其中的 token。這個 token 是一個用于標識該請求的令牌。
  2. 關聯 CancelToken: 將創建的 CancelToken 對象中的 token 關聯到請求的配置中,通過 cancelToken 參數。這告訴 Axios 在取消令牌觸發時要取消這個請求。
  3. 取消請求: 當想要取消請求時,調用 CancelToken 對象中的 cancel 方法,并提供一個取消的原因。這會觸發 Axios 內部的邏輯,導致底層的網絡請求被中止。
  4. 捕獲取消錯誤: 如果請求在取消前已經發出,Axios 會拋出一個名為 Cancel 的錯誤。可以使用 axios.isCancel(error) 來檢查是否是取消錯誤。在 .catch 部分處理這個取消錯誤。

底層 XMLHttpRequest 和 Fetch API 都提供了終止請求的機制。當取消請求時,Axios 會調用底層網絡請求的相應中止方法,例如 xhr.abort() 或 fetch.abort(),從而使網絡請求停止并拋出取消錯誤。這個機制允許有效地取消正在進行的請求,避免不必要的數據傳輸和處理。

責任編輯:武曉燕 來源: 海燕技術棧
相關推薦

2024-08-27 08:55:32

Axios底層網絡

2021-04-06 06:01:11

AxiosWeb 項目開發

2021-04-22 05:37:14

Axios 開源項目HTTP 攔截器

2025-10-16 09:08:03

2012-02-15 14:12:58

開源軟件政府

2021-04-12 05:55:29

緩存數據Axios

2021-07-27 14:50:15

axiosHTTP前端

2018-11-26 14:55:33

固態硬盤SSD選購

2025-01-15 13:30:48

FeignHTTPJava

2023-11-05 10:52:54

DNS服務器瀏覽器

2024-06-05 08:42:24

2018-06-14 10:32:25

2021-10-21 09:40:50

AI人工智能

2021-12-09 17:14:05

戴爾

2024-11-25 12:20:00

Hystrix微服務架構

2021-09-10 06:50:03

HashMapHash方法

2019-08-14 14:56:52

無服務器云原生FaaS

2020-12-03 08:14:45

Axios核心Promise

2021-09-27 08:02:17

CDN加速網站網絡

2024-01-11 08:53:58

點贊
收藏

51CTO技術棧公眾號

精品国产av一区二区| 亚洲精品一区二区三区在线播放| 国产va在线视频| 2023国产精品| 国产精品亚洲片夜色在线| av成人免费网站| 任你弄精品视频免费观看| 欧美亚洲国产怡红院影院| 91麻豆天美传媒在线| 天天操天天干天天爱| 蜜臀av性久久久久蜜臀aⅴ| 欧美成在线视频| 久久av无码精品人妻系列试探| 色8久久久久| 欧美性xxxx极品hd满灌| 亚洲色婷婷久久精品av蜜桃| 四虎国产精品永远| 国精品**一区二区三区在线蜜桃| 9.1国产丝袜在线观看 | 波多野结衣爱爱| 伊人久久大香线| 一本色道久久88综合亚洲精品ⅰ| 91丝袜超薄交口足| 亚洲1234区| 午夜亚洲福利老司机| 中文字幕中文字幕99| 青青草在线免费观看| 国产美女一区二区三区| 国产精品成人av性教育| 日韩污视频在线观看| 久久久久久久久久久久久久| 亚洲欧美一区二区三区在线| 国产裸体视频网站| 欧美一级网址| 91激情在线视频| 337p粉嫩大胆噜噜噜鲁| 丁香花在线电影| 怡红院av一区二区三区| 中日韩在线视频| 91精彩在线视频| 久久久欧美精品sm网站| 97久草视频| 国产情侣自拍小视频| 久久精品国产99| 国产精品久久久久久av| 黄瓜视频在线免费观看| 亚欧成人精品| 日本久久91av| 无码人妻av免费一区二区三区| 亚洲精品女人| 91av国产在线| 国产精品乱子伦| 亚洲在线成人| 秋霞午夜一区二区| 免费视频久久久| 久热综合在线亚洲精品| 欧美一区在线直播| 神马久久久久久久 | 自拍偷自拍亚洲精品播放| 视频一区三区| 888av在线| 亚洲欧美一区二区在线观看| av不卡在线免费观看| 免费a级在线播放| 亚洲欧美区自拍先锋| 久久观看最新视频| 密臀av在线| 激情久久av一区av二区av三区| 国产69精品久久久久久久| 九色porny自拍视频在线观看| 黄色精品在线看| av视屏在线播放| 深夜福利亚洲| 日韩免费视频一区二区| 欧美双性人妖o0| 国产精品午夜一区二区三区| 中文字幕亚洲图片| 东方av正在进入| 亚洲高清电影| 国产精品福利观看| 一级黄色片在线看| 粉嫩在线一区二区三区视频| 久久av一区二区三区亚洲| 免费福利在线观看| 国产精品国产三级国产aⅴ原创 | 青春草视频在线| 天天色图综合网| 不卡的av中文字幕| 98视频精品全部国产| 亚洲人成在线观看| 亚洲国产精品免费在线观看| 国产视频欧美| 成人黄色午夜影院| 日本黄视频在线观看| 日本一区二区综合亚洲| 成年在线观看视频| 欧美freesex| 日韩一区二区三区在线视频| 欧美做受喷浆在线观看| 日韩欧美视频在线播放| 午夜精品免费视频| 91九色蝌蚪91por成人| 懂色av一区二区三区蜜臀| 日本高清久久一区二区三区| 宅男网站在线免费观看| 欧美在线免费播放| 在线观看免费视频国产| 成人3d动漫在线观看| 久久久久久久久久久人体| 中文字幕码精品视频网站| 国产aⅴ精品一区二区三区色成熟| 欧洲亚洲一区二区三区四区五区| av毛片在线看| 精品污污网站免费看| 欲求不满的岳中文字幕| 欧美一区国产在线| 国产精品久久999| 深爱激情五月婷婷| 亚洲欧美一区二区不卡| 国产视频在线视频| 久久a爱视频| 欧美老少做受xxxx高潮| 亚洲一区二区人妻| 国产亚洲欧美一级| 精品这里只有精品| 国产福利资源一区| 精品自在线视频| 一区二区三区亚洲视频| 国产日韩成人精品| 伊人成色综合网| 成人av动漫| 久久99久久亚洲国产| 中文字幕一区二区三区免费看| 91免费小视频| 亚洲精品无码国产| 亚洲精品黑牛一区二区三区| 久久综合久久八八| 亚洲一区二区天堂| 中文字幕一区视频| 杨幂毛片午夜性生毛片| 欧美一区2区| 国产精品女视频| 国产视频福利在线| 在线亚洲精品福利网址导航| 中文字幕在线观看的网站| 亚洲伦伦在线| 加勒比在线一区二区三区观看| 手机在线免费av| 日韩欧美一级二级三级久久久 | 亚洲国产一区二区三区青草影视| www.久久com| 日韩免费一区| 成人黄色在线免费| 超碰caoporn久久| 日韩一区二区在线看| 久久成人在线观看| 成人高清免费观看| 日韩视频在线视频| 亚洲品质自拍| 国产精品久久久久国产a级| 在线中文资源天堂| 91精品婷婷国产综合久久竹菊| 少妇高潮一区二区三区喷水| 精品一区二区三区的国产在线播放| 亚洲v国产v| 91亚洲精品在看在线观看高清| 久热在线中文字幕色999舞| 精品国产18久久久久久| 亚洲高清久久久| 不卡一区二区在线观看| 欧美a级一区二区| 中文字幕中文字幕在线中心一区| 蜜桃在线一区| 91黄色8090| 川上优的av在线一区二区| 欧美嫩在线观看| 久久午夜无码鲁丝片午夜精品| jvid福利写真一区二区三区| 亚洲五月天综合| 亚洲欧洲日韩| 精品婷婷色一区二区三区蜜桃| 精品视频一区二区三区四区| 瑟瑟在线观看| 在线观看日韩精品| 疯狂试爱三2浴室激情视频| 成人免费视频国产在线观看| 美女福利视频在线| 91九色精品国产一区二区| 成人免费在线一区二区三区| a一区二区三区| 日韩中文字幕不卡视频| 黑人乱码一区二区三区av| 色噜噜狠狠一区二区三区果冻| 亚洲综合久久av一区二区三区| 国产99精品在线观看| 国内外免费激情视频| 欧美一区视频| 日本高清不卡三区| www.神马久久| 国产精品一区=区| 国产h片在线观看| 丝袜亚洲欧美日韩综合| 天堂在线观看免费视频| 欧美人与z0zoxxxx视频| 国产精品999在线观看| 最新国产成人在线观看| 亚洲av网址在线| 国产乱理伦片在线观看夜一区| 久久九九国产视频| 亚洲国产精品第一区二区| 中文一区一区三区免费| 女人丝袜激情亚洲| 国产精品日本一区二区| 日本成人一区二区| 热久久这里只有| 99久久精品免费观看国产| 中文字幕亚洲欧美在线| 日本福利片高清在线观看| 欧美精品一区二区精品网| 91麻豆国产视频| 日本韩国视频一区二区| 亚洲 欧美 视频| 亚洲黄网站在线观看| 91导航在线观看| 久久久国产精品麻豆| 国产又黄又粗又猛又爽的视频 | 精品久久久久久中文字幕大豆网| 日韩a级片在线观看| 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲美女福利视频网站| 黄色一级a毛片| 日韩手机在线导航| 国产欧美综合视频| 欧美乱熟臀69xxxxxx| 日韩精品在线一区二区三区| 五月综合激情日本mⅴ| 精品在线视频免费观看| 亚洲美女区一区| 欧美性生给视频| 中文字幕欧美日本乱码一线二线| 亚洲专区区免费| 久久蜜桃一区二区| 成人午夜福利一区二区| 久久亚洲精品国产精品紫薇| 水蜜桃av无码| 99精品国产视频| 国产精品1000部啪视频| 91在线精品一区二区| 色婷婷av777| 久久久亚洲精品石原莉奈| 人妻体内射精一区二区| 国产婷婷色一区二区三区| 国产黄色大片免费看| 中文字幕成人网| 少妇高潮在线观看| 综合网在线视频| 激情五月婷婷在线| 亚洲国产精品久久人人爱| 国产精品自拍视频一区| 精品久久久久久久久久久久久久| 国产综合精品视频| 亚洲一区二区欧美激情| 在线天堂中文字幕| 色久优优欧美色久优优| 波多野结衣大片| 欧美丰满嫩嫩电影| 性猛交富婆╳xxx乱大交天津| 精品国产一区久久| 深夜福利免费在线观看| 在线日韩日本国产亚洲| 免费的黄网站在线观看| 欧美国产日韩视频| 激情国产在线| 日韩69视频在线观看| 免费观看亚洲| 成人黄色免费看| 国产成人tv| 日韩在线观看电影完整版高清免费| 欧美大黑bbbbbbbbb在线| 4444在线观看| 免播放器亚洲| 99精品999| 91麻豆免费看片| 国产三级精品三级观看| 亚洲国产精品久久艾草纯爱| www.久久精品视频| 91精品免费观看| 无码国产伦一区二区三区视频| 国产一区二区av| 美女网站视频在线| 国产精品a久久久久久| 日日夜夜亚洲| 免费在线成人av| 91精品婷婷色在线观看| 久草青青在线观看| 全国精品久久少妇| 欧美极品jizzhd欧美仙踪林| 国产喷白浆一区二区三区| 久久久精品国产sm调教| 欧美视频在线一区二区三区 | 国产成a人亚洲精品| 人人爽人人爽人人片| 午夜影院久久久| 欧美超碰在线观看| 精品国产区一区| 免费在线看黄| 国产精品91一区| 日本精品一区二区三区在线观看视频| 国产精品乱码一区二区三区| 日韩中文在线电影| 99精品在线免费视频| 国产一区不卡精品| 一区二区伦理片| 亚洲一二三四久久| 97超碰国产在线| 亚洲色图第三页| 久久久男人天堂| 国产91精品入口17c| 视频在线不卡免费观看| 成人小视频在线看| 99这里只有精品| 久久久久久久9999| 欧美一区二区播放| 免费在线看黄网站| 国产精品爽黄69| 激情综合网站| 欧美日韩中文在线视频| 成人v精品蜜桃久久一区| 欧美成人aaa片一区国产精品| 欧美日韩国产不卡| 成人精品一区二区三区校园激情| 97碰在线观看| 久久男人av| 欧美变态另类刺激| 成人午夜电影久久影院| 久久久久久久中文字幕| 在线播放一区二区三区| 五月婷婷在线观看| 国产精品自产拍在线观看| 日韩av大片| www.日本一区| 国产精品久久久久久久裸模| 中文字幕91爱爱| 中文字幕日本欧美| 美女视频一区| 最新精品视频| 国产自产v一区二区三区c| 成年人网站在线观看视频| 欧美卡1卡2卡| 日本黄色片在线观看| 国产精品视频网| 图片区亚洲欧美小说区| 亚洲综合伊人久久| 亚洲青青青在线视频| 99在线观看精品视频| 欧美成人在线免费| 136福利精品导航| 成熟丰满熟妇高潮xxxxx视频| av资源网一区| 免费视频网站在线观看入口| 在线电影中文日韩| 日韩亚洲国产免费| 精品人妻人人做人人爽| 成人高清免费观看| 久久久蜜桃一区二区| 中文字幕精品视频| 精品一区二区三区中文字幕在线| av日韩在线看| 2024国产精品| 中文字幕永久在线观看| 欧美老女人性生活| 日本一道高清一区二区三区| av无码精品一区二区三区| 国产精品污网站| 超碰免费在线97| 日本精品中文字幕| 亚洲欧美偷拍自拍| 亚洲久久久久久| 欧美日韩一区国产| 中文字幕在线播放网址| 精品久久中出| 久久97超碰国产精品超碰| 久久精品免费av| 亚洲无限av看| 欧美日韩中出| 成人观看免费完整观看| 亚洲欧美怡红院| 天堂在线一二区| 91色视频在线观看| 亚洲一区一卡| 天天天天天天天天操| 国产视频亚洲精品| 精品国产亚洲一区二区三区大结局| www.av毛片| 中文字幕亚洲不卡| 四虎永久在线精品免费网址| 国产日韩欧美中文| 亚洲高清久久| 亚洲综合视频网站| 日韩精品视频在线播放|