axios 取消请求 (2023-10-10更新)
配置局部取消请求
这种相当于局部的取消请求,作用于单个请求中
import axios from 'axios'
const source = axios.cancelToken.source()
axios
.get('getData', {
cancelToekn: source.token
})
.catch((err) => {
if (axios.isCancel(err)) {
console.log('Request canceled:', err.message)
} else {
console.log(err)
}
})
setTimeout(() => {
source.cancel('取消请求')
}, 1000)
配置全局取消请求 1(多个相同请求,取消上一次请求)
可以在拦截器中进行配置,做成全局的取消请求
import axios from 'axios'
const cancelMap = {}
const service = axios.create({})
service.interceptors.request.use((config) => {
const source = axios.CancelToken.source()
cancelMap[config.url] = source
config.cancelToken = source.token
return config
})
export const cancelRequest = (key) => {
if (cancelMap[key]) {
cancelMap[key].cancel('取消请求')
delete cancelMap[key]
}
}
以上这种方法适用于: 用户点击搜索,发起搜索请求,但上一次搜索请求还没有返回,这时候需要将上一次请求取消掉
适用于: 多个相同请求,需要将上一次请求取消掉
配置全局取消请求 2(取消这次请求之前的所有请求)
import axios from 'axios'
const source = axios.CancelToken.source()
const service = axios.create({})
service.interceptors.request.use((config) => {
config.cancelToken = source.token
return config
})
export const cancelRequest = (key) => {
source.cancel('取消请求')
}
这种方法适用于: 发起一次请求,取消之前的所有请求
以上方法如果嫌引入麻烦,可以自行绑定 Vue.prototype.cancelRequest
axios 取消请求 (2023-10-10更新)的更多相关文章
- axios 取消请求的方法
开发中遇到需要取消请求的功能,,点击终止查询可以取消开始查询请求,再次点击开始查询又可以进行查询. 解决方法:axios官方文档上的CancelToken,一开始用了这个api后,可以成功取消请求,但 ...
- axios 取消请求
解决思路 在发送第二次请求的时候如果第一次请求还未返回,则取消第一次请求,以保证后发送的请求返回的数据不会被先发送的请求覆盖. axios官方文档取消请求说明 方法一: const CancelTok ...
- axios 取消请求 (如:用户登录失效,阻止其他请求)
const CancelToken = axios.CancelToken; const source = CancelToken.source(); axios.interceptors.reque ...
- axios取消接口请求
axios取消请求 这里就是分析一下接口请求需要被取消时的一些操作 因为我是用vue写的项目,所以标配用的是axios,怎么在axios中取消已经发送的请求呢? 1.在这之前我们还是先介绍一下原生js ...
- axios取消重复请求与更新token并续订上次请求
一.问题引入 当用户发起一个请求时,判断token是否已过期,若已过期则先调refreshToken接口,拿到新的token后再继续执行之前的请求. 难点:当同时发起多个请求,token 过期会调用多 ...
- App Store审核指南中文版(2014.10.11更新)
App Store审核指南中文版(2014.10.11更新) 2014-10-11 16:36 编辑: suiling 分类:AppStore研究 来源:CocoaChina 2 8657 App ...
- Windows 10 周年更新正式版下载 + win10 快捷键
Windows 10 周年更新正式版 360云资源总汇(施工中): https://yunpan.cn/c6Svi7Az52XBs (提取码:e5dd)今后提到周年更新版.1607版或RS1版,都是 ...
- ubuntu 12.10 软件更新源列表
ubuntu 12.10正式版已经发布了,国内各大开源软件源也陆续更新了资源.今天分享一下ubuntu 12.10 软件更新源列表. 首先,习惯性的备份一下ubuntu 12.04 原来的源地址列表文 ...
- Windows 10创意者更新ISO发布!官方下载
http://news.mydrivers.com/1/526/526719.htm 去年7月份,微软面向Windows 10推出了“周年更新”,让系统变得更加稳定好用.今天,Windows 10迎来 ...
- Xamarin 2017.10.9更新
Xamarin 2017.10.9更新 本次更新主要解决了一些bug.Visual Studio 2017升级到15.4获得新功能.Visual Studio 2015需要工具-选项-Xamarin ...
随机推荐
- MySQL笔记--数据库定时备份与恢复
利用crontab定时.利用mysqldump备份 编写sh启动脚本时记得赋予执行权限(x) 如果没有mysqldump命令执行,基于centos7 yum -y install mysql-clie ...
- kali安装和升级
实验介绍: kali集成了世界上所有优秀的渗透测试工具 一:在VMware上安装 这里只详细介绍kali在VMware的安装,u盘和物理机上的安装不做详解 在kali官网下载kali镜像iso文件 下 ...
- Nuxt.js 应用中的 page:finish 钩子详解
title: Nuxt.js 应用中的 page:finish 钩子详解 date: 2024/10/9 updated: 2024/10/9 author: cmdragon excerpt: pa ...
- USB configfs与USB functionfs的区别及关系
configfs 和 functionfs 是 Linux 内核中用于配置和管理 USB 设备行为的两种不同的文件系统,它们各自的用途和工作方式有所不同,但在 USB Gadget 子系统中可以结合使 ...
- 2022年10月中国数据库排行榜:达梦冲刺IPO热度不减,PolarDB立足创新夺锦才
秋风萧瑟,洪波涌起. 2022年10月的 墨天轮中国数据库流行度排行榜 火热出炉,本月共有245个数据库参与排名,相比上月新增七个数据库,本月排行榜前十名变动较大:达梦反超openGauss重摘探花: ...
- px 、em、rem 的选取依据
1. px 像素(Pixel).绝对单位.像素px是相对于显示器屏幕分辨率而言的,是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果 px要换算成物理长度,需要 指定精度 DPI. 2. em ...
- 优雅简单玩转python3异步并发
在python3之后,随着async/await引入,异步调用以全新而便捷的方式让人眼前一亮. 首先,尽量用async/await定义协程 这里以使用aiohttp请求网络,async函数中,不要使用 ...
- 网页设计中常用的Web英文安全字体
原文地址:https://www.openkee.com/post-176.html 在 Web 编码中,CSS 默认应用的 Web 字体是有限的,你能看到的字体别人未必看得到.虽然在新版本的CSS3 ...
- 彻底理解spring框架当中的依赖注入(DI)与控制反转(IOC)理念
什么是依赖注入 人生当中第一次听说到这个概念是在spring框架的学习当中,当然依赖注入并不局限于spring,其实依赖注入早已不是一个新鲜词,而是一个犹如古董般的设计理念,但是我还年轻呐那么就从这里 ...
- Proteus中单片机IO口外接LED输出低电平时,引脚却一直保持高电平的问题(已解决)
前言 一个排阻接八个 LED,方便又省事,但出现了P1端口输出低电平后,仿真引脚却一直显示红色保持高电平不变,用电压表测量显示 2V 左右. 这是仿真的问题,在用开发板时是不会遇到的,为了仿真的显示效 ...