用法解释

  AbortController 接口表示一个控制器对象,允许你根据需要中止一个或多个 Web 请求。可以使用AbortController.AbortController()构造函数创建一个新的 AbortController 。使用AbortSignal对象可以完成与 DOM 请求的通信。

构造函数

AbortController.AbortController()

创建一个新的 AbortController 对象实例。

属性

AbortController.signal (en-US) 只读

返回一个 AbortSignal 对象实例,它可以用来 with/abort 一个 Web(网络) 请求。

方法

AbortController.abort()

中止一个尚未完成的 Web(网络) 请求。这能够中止 fetch 请求及任何响应体的消费和流。

用例

在下面的代码片段中,我们想通过 Fetch API 下载一段视频。

我们先使用 AbortController() 构造函数创建一个控制器,然后使用 AbortController.signal (en-US) 属性获取其关联 AbortSignal 对象的引用。

当一个 fetch request 初始化,我们把 AbortSignal 作为一个选项传递到到请求对象(如下 { signal })。这将 signal 和 controller 与这个 fetch request 相关联,然后允许我们通过调用 AbortController.abort() 中止请求,如下第二个事件监听函数。

const controller = new AbortController();
let signal = controller.signal;const downloadBtn = document.querySelector('.download');
const abortBtn = document.querySelector('.abort');downloadBtn.addEventListener('click', fetchVideo);abortBtn.addEventListener('click', function() {controller.abort();console.log('Download aborted');
});function fetchVideo() {//...fetch(url, {signal}).then(function(response) {//...}).catch(function(e) {reports.textContent = 'Download error: ' + e.message;})
}

AbortController相关推荐

  1. AbortController 中止一个或多个Web请求

    AbortController 接口表示一个控制器对象,允许你根据需要中止一个或多个 Web 请求. 你可以使用 AbortController.AbortController() 构造函数创建一个新 ...

  2. antdpro使用AbortController取消请求

    官方api地址:https://developer.mozilla.org/zh-CN/docs/Web/API/AbortController umi-request案例:https://githu ...

  3. 认识 AbortController控制器对象 及其应用

    参考文章1 参考文章2 一.什么是AbortController (abort 意为 中止/废弃) AbortController是一个控制器对象(DOM API),可通过new构造函数的方式,生成控 ...

  4. 怎么中断一个ajax请求,ajax、fetch、axios如何中断请求?

    先来说一说"中断请求"的实际场景,当页面有多个tab页签时,每次切换页签都会去请求数据,频繁的切换就会去请求很多次,比如A页签切换到B页签,A页签请求完全是不必要的,这时候可以在切 ...

  5. scanner一次输入多行_记一次项目复盘,技术盘点(易忽略的细节)

    20%的工作汇报将决定你80%的工作效率和工作成果. 前言 虽然之前有好几次技术分享,但是真正的项目复盘还是第一次做,从业务到技术,全方面的梳理.从不同的开发视角去刨析业务和技术. 传统项目开发,后端 ...

  6. react-native init MyProject之后发生了什么

    使用了React-Native cli里index.js提到的yarn,版本号1.17.3: 所有的依赖和完整输出: $ react-native init MyProject This will w ...

  7. 2021 年 JavaScript 大事记

    大家好,我是 ConardLi,不知不觉中,2021 年已经接近尾声了,不知道在 2021 这一年,你收获了什么?又失去了什么呢? 又到了开始做年终总结的时候了,今天,我来给 JavaScript 做 ...

  8. 面试官:请手写一个带取消功能的延迟函数,axios 取消功能的原理是什么

    大家好,我是若川.最近组织了源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列> ...

  9. 设置公共请求参数_封装一个useFetch实现页面销毁取消请求

    前端业务经常会出现这样一类问题,当用户网速过慢或是其他特殊情况下,该页面的请求还未完成,用户就已经点击其他页面跳出去了.理想状态下请求也是应该终止掉的,所以我们应该想办法将请求和页面卸载关联在一起. ...

最新文章

  1. 如何理解导远技术手册
  2. 各种加密算法用法及作用
  3. csdn个人主页下如何添加微信公众号及超链接
  4. 批量关闭公众号推送_微信内测新功能:可批量关闭订阅号推送
  5. 使用Visual Studio 2017创建React项目
  6. php计算两个日期之间的小时数,PHP_php 计算两个时间戳相隔的时间的函数(小时),这个是可以具体到小时的php代 - phpStudy...
  7. 中国特种电器灯泡行业市场供需与战略研究报告
  8. 苹果mac绘图软件:AutoCAD
  9. 【Python游戏】贪吃蛇升级版——双人贪吃蛇小游戏 | 附带源码
  10. 什么是智能dns解析
  11. EDA实验(3)计数器设计
  12. 做一个电商网站需要多少钱
  13. python plc fx5u_FX5U系列三菱PLC型号选型一览表
  14. (转)如何应对工作中的冲突?
  15. 管理感悟:听课与收获
  16. [译]CRF和QP的区别
  17. 基于ArduPilot的旋翼式无人机飞行器开发系列(三,四轴无人机的组成)
  18. opencv Day1
  19. python爬取链家网实例——scrapy框架爬取-链家网的租房信息
  20. Pytorch LR scheduler

热门文章

  1. 使用 python requests 模块发送 http 请求及接收响应
  2. dell电脑EliteBook开启虚拟化
  3. 内网xshell传输文件命令_Xshell 上传文件到服务器 以及常用的lunix 命令
  4. ADAM4050 7DI 8DO 的使用
  5. 获取子元素到父元素滚动距离
  6. 【数据网格架构】数据网格架构模式
  7. A股网络安全龙头有哪些,网络安全龙头股票一览
  8. rmp mysql_mysql 的rmp安装
  9. C++获取程序当前目录
  10. 程序员吐槽_程序员吐槽大全,欢迎补充,吐槽有礼!!