AbortController
用法解释
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相关推荐
- AbortController 中止一个或多个Web请求
AbortController 接口表示一个控制器对象,允许你根据需要中止一个或多个 Web 请求. 你可以使用 AbortController.AbortController() 构造函数创建一个新 ...
- antdpro使用AbortController取消请求
官方api地址:https://developer.mozilla.org/zh-CN/docs/Web/API/AbortController umi-request案例:https://githu ...
- 认识 AbortController控制器对象 及其应用
参考文章1 参考文章2 一.什么是AbortController (abort 意为 中止/废弃) AbortController是一个控制器对象(DOM API),可通过new构造函数的方式,生成控 ...
- 怎么中断一个ajax请求,ajax、fetch、axios如何中断请求?
先来说一说"中断请求"的实际场景,当页面有多个tab页签时,每次切换页签都会去请求数据,频繁的切换就会去请求很多次,比如A页签切换到B页签,A页签请求完全是不必要的,这时候可以在切 ...
- scanner一次输入多行_记一次项目复盘,技术盘点(易忽略的细节)
20%的工作汇报将决定你80%的工作效率和工作成果. 前言 虽然之前有好几次技术分享,但是真正的项目复盘还是第一次做,从业务到技术,全方面的梳理.从不同的开发视角去刨析业务和技术. 传统项目开发,后端 ...
- react-native init MyProject之后发生了什么
使用了React-Native cli里index.js提到的yarn,版本号1.17.3: 所有的依赖和完整输出: $ react-native init MyProject This will w ...
- 2021 年 JavaScript 大事记
大家好,我是 ConardLi,不知不觉中,2021 年已经接近尾声了,不知道在 2021 这一年,你收获了什么?又失去了什么呢? 又到了开始做年终总结的时候了,今天,我来给 JavaScript 做 ...
- 面试官:请手写一个带取消功能的延迟函数,axios 取消功能的原理是什么
大家好,我是若川.最近组织了源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列> ...
- 设置公共请求参数_封装一个useFetch实现页面销毁取消请求
前端业务经常会出现这样一类问题,当用户网速过慢或是其他特殊情况下,该页面的请求还未完成,用户就已经点击其他页面跳出去了.理想状态下请求也是应该终止掉的,所以我们应该想办法将请求和页面卸载关联在一起. ...
最新文章
- 如何理解导远技术手册
- 各种加密算法用法及作用
- csdn个人主页下如何添加微信公众号及超链接
- 批量关闭公众号推送_微信内测新功能:可批量关闭订阅号推送
- 使用Visual Studio 2017创建React项目
- php计算两个日期之间的小时数,PHP_php 计算两个时间戳相隔的时间的函数(小时),这个是可以具体到小时的php代 - phpStudy...
- 中国特种电器灯泡行业市场供需与战略研究报告
- 苹果mac绘图软件:AutoCAD
- 【Python游戏】贪吃蛇升级版——双人贪吃蛇小游戏 | 附带源码
- 什么是智能dns解析
- EDA实验(3)计数器设计
- 做一个电商网站需要多少钱
- python plc fx5u_FX5U系列三菱PLC型号选型一览表
- (转)如何应对工作中的冲突?
- 管理感悟:听课与收获
- [译]CRF和QP的区别
- 基于ArduPilot的旋翼式无人机飞行器开发系列(三,四轴无人机的组成)
- opencv Day1
- python爬取链家网实例——scrapy框架爬取-链家网的租房信息
- Pytorch LR scheduler