axios取消请求
为什么会有取消请求-文件上传
比如有这样的场景,在一个弹窗中有文件上传。
当用户进行文件上传的时候,发现不想进行文件上传了,又点击了弹窗中的取消。
那么是不是应该去取消本次的上传操作,此时就需要使用取消xiaos请求了。
使用axios内部提供的 CancelToken方法来取消请求
<template>
<div>
<button @click="sendAxios">发送axios</button>
<button @click="cancelHandert">取消请求</button>
<button @click="sendAxios2">发送axios@2</button>
</div>
</template>
<script lang="ts" setup>
import axios from 'axios'
function sendAxios() {
SendGiveServe()
}
let CancelToken;
let source:any;
function SendGiveServe() {
CancelToken = axios.CancelToken
source = CancelToken.source()
axios.get('https://xxx.com/list',{name:'张三'}, {
cancelToken: source.token
}).then(function (response) {
console.log('返回来的数据1', response)
}).catch(thrown => {
if (axios.isCancel(thrown)) {
console.log('请求已经取消了==>', thrown.message);
} else {
// 处理错误
}
});
}
function cancelHandert() {
source&&source.cancel('取消请求1') //取消请求,参数可选
}
function sendAxios2() {
axios.get('https://xxx.com/list').then(function (response) {
console.log('返回来的数据sendAxios2', response)
})
}
</script>

通过调用 CancelToken的构造函数来创建 CancelToKen
<template>
<div>
<button @click="sendAxios">发送axios1</button>
<button @click="cancelHandert">取消请求axios1</button>
<button @click="sendAxios2">发送axios@2</button>
</div>
</template>
<script lang="ts" setup>
import axios from 'axios'
let CancelToken; //取消请求的token令牌
let cancel:any; //取消请求的方法
// 发送请求
function sendAxios() {
CancelToken = axios.CancelToken
axios.get('https://edu.newsight.cn/wxList.php', {
cancelToken: new CancelToken(function excutor(c) {
cancel = c;
})
}).then((res) => {
console.log('axios1发回来的数据',res)
}).catch((thrown) => {
if (axios.isCancel(thrown)) {
console.log('请求已经取消了==>', thrown.message);
} else {
// 处理错误
}
});
}
// 取消请求
function cancelHandert() {
cancel&&cancel();
}
function sendAxios2() {
axios.get('https://edu.newsight.cn/wxList.php').then(function (response) {
console.log('返回来的数据sendAxios2', response)
})
}
</script>

取消axios请求的特别说明
虽然我们点击取消请求了。后端还是会一一收到所有的请求。
因此该查库的查库,该创建的创建,还是会操作对应的业务逻辑。
上面这一段话的来源:链接:https://juejin.cn/post/6931588940076072968
有的小伙伴可能就会说:那取消请求有什么意义呢?
其实他的作用主要是:减少数据的重复渲染。对前端有用,对于后端是没有什么用的。
回到最初:文件上传的场景,虽然前端取消了,但是后端仍然会读取这个文件上传的操作。
听到我说这一段话:也许你会崩溃。但是确实这这样的。本宝宝我也很难受
axios取消请求的更多相关文章
- 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 ...
- jq和axios的取消请求
场景: 分页: 每次点击分页会发送请求,如果上一次请求还未获取到,下一次请求已经开始且先一步获取到,那么数据上会出现问题. 快速点击会发送多次请求,多次点击的时候一般的做法我们会定义一个flag,此时 ...
- Axios 取消 Ajax 请求
Axios 取消 Ajax 请求 Axios XMLHttpRequest https://caniuse.com/?search=XMLHttpRequest https://developer.m ...
- 学习axios必知必会(2)~axios基本使用、使用axios前必知细节、axios和实例对象区别、拦截器、取消请求
一.axios的基本使用: ✿ 使用axios前必知细节: 1.axios 函数对象(可以作为axios(config)函数使用去发送请求,也可以作为对象调用方法axios.request(confi ...
- axios取消重复请求与更新token并续订上次请求
一.问题引入 当用户发起一个请求时,判断token是否已过期,若已过期则先调refreshToken接口,拿到新的token后再继续执行之前的请求. 难点:当同时发起多个请求,token 过期会调用多 ...
- vue2.0项目实战(3)使用axios发送请求
在Vue1.0的时候有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource. 关于为什么放弃推荐? -> 尤 ...
- Vue笔记:使用 axios 发送请求
在Vue1.0的时候有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource. 关于为什么放弃推荐? -> 尤 ...
随机推荐
- 云图说|华为云自研云数据库GaussDB NoSQL,兼容多款NoSQL接口的数据库服务
摘要:云数据库GaussDB NoSQL是一款基于计算存储分离架构的分布式多模NoSQL数据库服务,兼容多款nosql接口,在灵活弹性.快速扩展方面做到了极致. 本文分享自华为云社区<云图说|华 ...
- 译文丨伯克利对serverless的看法:简化云编程
摘要:Serveless计算的目标和机会是让云编程者像使用高级语言那样受益. 本文分享自华为云社区<简化云编程,伯克利对serverless的看法(翻译)>,作者: 二手雄狮. 译者言: ...
- GIS拓扑讲解点线面几何体的拓扑关系判断及运算分析_turf案例
Turf.js简介 Turf.js是JavaScript 空间分析库,由Mapbox 提供,Turf 实现了 空间分析操作,例如生成缓冲区.计算等高线,建立 TIN 等: 空间几何对象关系的计算,点 ...
- 火山引擎DataLeap:3步打造“指标管理”体系,幸福里数据中心是这么做的
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 一家企业,为什么要搭建指标体系? 一句话总结来说,全面.合理的指标体系可以帮助企业统一目标,将业务环节量化,帮助策 ...
- 【django-vue】celery延迟任务、定时任务 django中使用celery 秒杀功能 双写一致性 首页轮播图定时更新 课程前端页面
目录 上节回顾 字符编码 django-redis 今日内容 1 celery 执行异步任务,延迟任务,定时任务 延时任务 定时任务 2 django中使用celery 2.1 秒杀功能 2.1.1 ...
- 【HZERO】feign调用
feign调用 https://open.hand-china.com/community/detail/603204901962649600 # Hiam获取用户信息示例
- java获取年月日、时间与区间、Sql获取年月日区间
SQL 获取时.日.周.月日期 因工作上常用到统计分析,需要用到具体的时间,故写于此 24小时: SELECT 0 AS hour UNION ALL SELECT 1 AS hour UNION A ...
- 面试通过,拿到offer了,不去了会怎么样?
接受了offer但不去,其实没啥事,但这属于诚信问题. 这里有个概念,给了offer但不接受,这没事. 给了offer,也接受了,但在入职前一周(或在其它约定的时间范围内)说不去,同时姿态放低些打招呼 ...
- 传统单节点网站的 Serverless 上云
什么是函数?刚刚考完数学没多久的我,脑里立马想到的是自变量.因变量.函数值,也就是y=f(x).当然,在计算机里,函数function往往指的是一段被定义好的代码程序,我们可以通过传参调用这个定义好的 ...
- node-sass安装失败,安装后无法使用 gyp verb check python checking for Python executable "python2" in the PATH
这个问题搞了一会想起开始安装node-sass时的一句被我忽略的提示:执行 npm rebuild node-sass 这行后就可以了. 再说说 node-sass 的安装问题,现在使用 yarn i ...