当前位置: 首页 > news >正文

axios使用axiosSource.cancel取消请求后怎么恢复请求,axios取消请求和恢复请求实现

在前端做大文件分片上传,或者其它中断请求时,需要暂停或重新请求,比如这里大文件上传时,可能会需要暂停、继续上传,如下GIF演示:
在这里插入图片描述

这里不详细说文件上传的处理和切片细节,后续有时间在出一篇,大文件上传,切片上传、断点续传、秒传等😀。
不扯远了,紧接本篇主题😅。

如何使用axios取消请求

axios中已经实现了取消请求的操作,一共

  • 第一种 从 v0.22.0 开始,Axios 支持以 fetch API 方式—— AbortController 取消请求,示例如下
import axios from 'axios';
const controller = new AbortController();
let fetchSignal = controller.signal
axios.post('http://www.***.cn/', {signal: fetchSignal
}).then((response)=> {//...
});// 取消请求,不支持message参数
controller.abort()
  • 第二种使用CancelToken.source工厂方法创建一个 cancel token ,如下所示:
import axios from 'axios';
let axiosSource = axios.CancelToken.source();axios({method: 'post',url: 'http://www.***.cn/',data: formdata,// 提交的文件数据或其它参数cancelToken: axiosSource.token,headers: { 'Content-Type': 'multipart/form-data' },
}).then((response)=> {//...
});// 取消请求,支持message参数
axiosSource.cancel('取消请求');
  • 第三种 通过传递一个executor函数到CancelToken的构造函数来创建一个 cancel token,这里就不介绍了,可以查看官网示例🧐。

本文采用第二种方式实现。

如何重新发送请求

在重新发送请求前,需要重新生成CancelToken.source,不然再也无法从该URL获得成功的响应,因为同一个CancelToken.source都会被取消请求,如下图打印结果:
在这里插入图片描述

所以在重新请求前,需要重新生成一个CancelToken.source,代码如下:

// 重新发送请求
axiosSource = axios.CancelToken.source();
axios({
//....代码同上
})

最后在放上axios官网的说明及实例链接 点我直达
如果本文对您有帮助,还请点个小赞😉。
本文完~

http://www.lryc.cn/news/131913.html

相关文章:

  • SAP动态安全库存简介
  • JVM基础了解
  • QT:event事件分发器,事件过滤器(了解)
  • 若依项目的介绍(前后端分离版本)
  • DT游乐场建模
  • Servlet+JDBC实战开发书店项目讲解第9篇:VIP等级优惠实现
  • Azure文件共享
  • idea新建web项目
  • 回归预测 | MATLAB实现BES-SVM秃鹰搜索优化算法优化支持向量机多输入单输出回归预测(多指标,多图)
  • 电商增强现实3D模型优化需要关注的4个方面
  • 【Effective Python】读书笔记-04推导与生成
  • Android内存泄漏总结和性能优化技巧
  • leetcode 125.验证回文串
  • ZooKeeper客户端使用与经典应用场景
  • 标签准备——labelIMG工具使用——自动化标注
  • 关于vant2 组件van-dropdown-item,在IOS手机上,特定条件下无法点击问题的探讨
  • 一零七一、Spring大海捞针篇
  • 请求并发控制
  • 创建密码库/创建用户帐户/更新 Ansible 库的密钥/ 配置cron作业
  • vue实现穿梭框,ctrl多选,shift多选
  • Win11中zookeeper的下载与安装
  • ubuntu22.04 找不到串口,串口ttyusb时断时续的问题(拔插以后能检测到,过会儿就检测不到了)
  • Pinia基础教程
  • 【NOIP】标题统计
  • BOXTRADE-天启量化分析平台 系统功能预览
  • 解决Kibana(OpenSearch)某些字段无法搜索问题
  • 代码随想录训练营day15|102.层序遍历 226.翻转二叉树 101.对称二叉树
  • Nginx 配置https以及wss
  • Log4net在.Net Winform项目中的使用
  • 从零到一制作扫雷游戏——C语言