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

最新版axios@1.3.x取消请求-AbortController-初体验-番茄出品

最新版axios@1.3.x取消请求-AbortController-初体验-番茄出品

start

  • 前文提到,axios 中的取消请求,包含两种方式:

    • AbortController
    • CancelToken
  • 上篇文章讲解了 CancelToken,今天这篇文章来了解一下 AbortController;

  • 作者:lazy_tomato

  • 编写时间:2023/02/27 21/48

1. AbortController 是什么?

1.1 介绍

AbortController 接口表示一个控制器对象,允许你根据需要中止一个或多个 Web 请求。

1.2 MDN官方文档

MDN官方文档 点击这里:

在这里插入图片描述

1.3 官方文档使用案例

let controller;
const url = 'video.mp4';const downloadBtn = document.querySelector('.download');
const abortBtn = document.querySelector('.abort');downloadBtn.addEventListener('click', fetchVideo);abortBtn.addEventListener('click', () => {if (controller) {controller.abort();console.log('中止下载');}
});function fetchVideo() {controller = new AbortController();const signal = controller.signal;fetch(url, { signal }).then((response) => {console.log('下载完成', response);}).catch((err) => {console.error(`下载错误:${err.message}`);});
}

1.3 兼容性

在这里插入图片描述

  1. 可以在 caniuse.com 中 查看到对 AbortController 的解释;
Controller object that allows you to abort one or more DOM requests made with the Fetch API.控制器对象,该对象允许您中止使用 Fetch API 发出的一个或多个DOM请求。
  1. 原生 AbortController 不支持 IE 全系列

2. axios 中的 AbortController 如何作用

新版旧版差异:

在这里插入图片描述

由上图可以查看到:

  1. axios 对旧版本的 CancelToken 用法,还是保留了兼容处理;

  2. 最新版本的 axios,提供了对 signal 属性的判断;

  3. 在浏览器端,使用的都是 XMLHttpRequest 发起请求的;

在这里插入图片描述

3. 总结

总的来说,截至目前,1. AbortController2. CancelToken;两者都可以实现取消请求。

  • 底层逻辑相同:都是通过传入配置参数,再手动触发对应参数的取消方法。

  • 差异:传入的配置对象不同。

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

相关文章:

  • Git的简述
  • webpack实战,手写loader和plugin
  • STM32CubeMX按键模块化 点灯
  • C#专栏目录(长期更新)
  • BurpSuite配置抓取HTTPS数据包
  • 图片转base64格式返回给前端,前端如何展示?
  • C++入门知识【超详解】
  • 零基础、非计算机系学Python该如何上手?
  • 关于 vue3 模板引用
  • Redis | 安装Redis和启动Redis服务
  • 博客要考虑的最佳WordPress主题
  • C 学习笔记 —— 函数指针
  • FastDDS-3. DDS层
  • 9.2 IGMPv2
  • 巨头混战,抢着“兜底”自动驾驶安全
  • RightCapital 第一轮面试题
  • Python曲线肘部点检测-膝部点自动检测
  • 【算法题】最大矩形面积,单调栈解法
  • 活动策划|深度分析年货节活动该如何策划!
  • Idea启动遇到 Web server failed to start. Port 8080 was already in use. 报错
  • Python3中zip()函数知识点总结
  • 过滤器,监听器,拦截器的原理与在Servlet和Spring的应用
  • minio spring boot 秒传、分片上传、断点续传文件实现
  • MTK平台使用Omnipeek分析空口协议讲解
  • string和自动推断类型
  • 【软件测试】从功能到自动化测试,测试人的进阶之路细节,这些必不可少......
  • C语言青蛙跳台阶【图文详解】
  • 笔记(五)——list容器的基础理论知识
  • 浅谈网络中接口幂等性设计问题
  • 《C Primer Plus》第13章复习题与编程练习