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 ...
随机推荐
- CentOS开放端口的方法(转载)
CentOS开放端口的方法 转载:https://www.itfeichai.com/centos-open-porter/ Centos升级到7之后,内置的防火墙已经从iptables变成了fire ...
- 五行强度得分_喜用神api免费接口_json数据八字五行强弱接口
本API接口基于深厚的八字学原理,为用户提供详尽的五行(金.木.水.火.土)强弱分析.五行打分评估,以及精准的喜用神判断.用户只需输入自己的八字信息,即可获得全面而深入的命理解读. 一.核心功能 ...
- Android内存分析命令
一.内存指标 Item 全称 含义 等价 USS Unique Set Size 物理内存 进程独占的内存 PSS Proportional Set Size 物理内存 PSS= USS+ 按比例包含 ...
- 2.flask 源码解析:应用启动流程
目录 一.flask 源码解析:应用启动流程 1.1 WSGI 1.2 启动流程 Flask 源码分析完整教程目录:https://www.cnblogs.com/nickchen121/p/1476 ...
- log4j2配置自定义filter报错Unable to invoke factory method in class
报错Unable to invoke factory method in class com....log4j.ScheduleLoggerFilter 2020-05-13 16:32:35,613 ...
- Exchange2016虚拟目录介绍
Exchange2016虚拟目录介绍 Autodiscover 允许Outlook自动发现邮箱设置,以便用户无需手动配置Outlook的高级设置. ecp 用于访问EAC. EWS 提供如服务可用性, ...
- web服务器静态资源下载
1. 使用 Beego 实现静态文件下载 Beego 是一个强大的 Go Web 框架,提供了处理静态文件的功能.通过简单的配置,我们可以将本地文件夹作为静态资源目录,并为用户提供下载链接. 1.1 ...
- 你真的理解 Kubernetes 中的 requests 和 limits 吗?
在 Kubernetes 集群中部署资源的时候,你是否经常遇到以下情形: 经常在 Kubernetes 集群种部署负载的时候不设置 CPU requests 或将 CPU requests 设置得过低 ...
- Android添加OpenCV支持
首先下载OpenCV的SDK 推荐在官网下载. 官网地址:https://opencv.org/releases/ 也可以在OpenCV的GitHub上现在 GitHUb链接:https://gith ...
- chapter 3 introduction to computer science
主机文件: <chapter3.docx>