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

axios 或 fetch 如何实现对发出的请求的终止?

终止 HTTP 请求是一个重要的功能,特别是在需要优化性能、避免不必要的请求或在某些事件发生时(例如用户点击取消)中断正在进行的请求时。以下是如何使用 axiosfetch 实现请求终止的方法:

1. axios

axios 使用了 CancelToken 来支持取消请求。

以下是使用 axios 取消请求的例子:

const axios = require('axios');// 创建一个 CancelToken 的源
const CancelToken = axios.CancelToken;
const source = CancelToken.source();axios.get('https://api.example.com/data', {cancelToken: source.token
}).catch(function(thrown) {if (axios.isCancel(thrown)) {console.log('Request canceled', thrown.message);} else {// 处理其他错误}
});// 在需要时取消请求
source.cancel('Operation canceled by the user.');

2. fetch

对于原生的 fetch API,你可以使用 AbortControllersignal 属性来取消请求。

以下是使用 fetch 取消请求的示例:

const controller = new AbortController();
const signal = controller.signal;fetch('https://api.example.com/data', { signal }).then(response => response.json()).then(data => console.log(data)).catch(err => {if (err.name === 'AbortError') {console.log('Fetch aborted');} else {console.error('Fetch error: ', err);}});// 在需要时取消请求
controller.abort();

这里,AbortController 和它的 signalfetch 请求相关联。当调用 controller.abort() 时,与该 signal 关联的 fetch 请求将被中断。

总的来说,不论是使用 axios 还是 fetch,都提供了取消正在进行的 HTTP 请求的能力。这在某些场景下(例如页面卸载或用户取消操作时)能够避免不必要的后续操作或错误处理。

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

相关文章:

  • ChatGPT Prompting开发实战(四)
  • Windows和Linux环境中安装Zookeeper具体操作
  • 41、Flink之Hive 方言介绍及详细示例
  • docker环境安装软件、更换镜像源以及E: Unable to locate package xxx解决
  • 夸克扫描王App用上了AI大模型 让扫描更清楚、提取文字更方便
  • 代价高昂的 IT 错误:识别并避免供应商锁定
  • HBase集群环境搭建与测试
  • 【iOS】Masonry的基本使用
  • 浅析SAS协议:链路层
  • ES6之浅尝辄止1:class的用法
  • django-发送邮件
  • IP私域系统搭建课,视频号打通你的个人ip私域
  • 咸虾米之一些快捷方式的操作,一行方块的左右滑动,方块在一区域内的任意移动
  • Linux 高级指令
  • 江苏移动基于OceanBase稳步创新推进核心数据库分布式升级
  • 6. 删除顺序表中的重复元素
  • Vue——axios的二次封装
  • JavaScript Web APIs -03 事件流、事件委托、其他事件(加载、滚动、尺寸)
  • QT DAY 2
  • ELK安装、部署、调试(三)zookeeper安装,配置
  • 企业级智能PDF及文档处理SDK GdPicture.NET 14.2 Crack
  • 应用程序管理工具
  • 当数据集较小时,调节学习率的方法
  • JS实现数组的扁平化(ES6实现)----例子+难点解析
  • git 提交错误,回滚到某一个版本
  • 数据结构:八种数据结构大全
  • Java正则表达式系列--Pattern和Matcher的使用
  • 40个web前端实战项目,练完即可就业,从入门到进阶,基础到框架,html_css【附视频+源码】
  • Erasure-Code(纠删码) 最佳实践
  • USB 转 4 串口芯片 CH9104