用法解释

AbortSignal 接口表示一个信号对象( signal object ),它允许您通过 AbortController 对象与 DOM 请求(如 Fetch)进行通信并在需要时将其中止。

属性

AbortSignal 接口还继承了其父接口EventTarget的属性。

AbortSignal.aborted 只读

以 Boolean (en-US) 表示与之通信的请求是否被终止(true)或未终止(false)。

事件处理

AbortSignal.onabort

当 abort 事件触发时,即当信号正在与之通信的 DOM 请求被中止时调用。

方法

AbortSignal 接口从其父接口 EventTarget 继承方法。

用例

在以下片段中,我们旨在使用 Fetch API 下载视频。

我们首先使用AbortController()构造函数创建一个控制器,然后使用AbortController.signal (en-US)属性。

当获取请求被启动时,我们在请求的选项对象中传递 AbortSignal 作为一个选项(见下面的{signal})。 这将信号和控制器与获取请求相关联,并允许我们通过调用AbortController.abort()来中止它,如下面的第二个事件监听器所示。

var controller = new AbortController();
var signal = controller.signal;var downloadBtn = document.querySelector('.download');
var 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;})
}

AbortSignal相关推荐

  1. 如何在客户端终止一个已经发出的HTTP请求

    Javascript 异步编程得益于 Promise 的实现,它们极大地提高了Web开发的性能和体验.不过原生的 Promise 有个最大的缺点就是一旦请求发出去,我们就无法取消它.但是我们找到了另一 ...

  2. api代理提取_了解提取API

    api代理提取 Interested in learning JavaScript? Get my ebook at jshandbook.com 有兴趣学习JavaScript吗? 在jshandb ...

  3. PWA(Progressive Web App)入门系列:Fetch Request Headers Response Body

    前言 在 WEB 中,对于网络请求一直使用的是 XMLHttpRequest API 来处理,XMLHttpRequest 也很强大,传统的 Ajax 也是基于此 API 的.那么为什么 W3C 标准 ...

  4. 如何获取.then的返回值_仅仅知道如何终止XHR请求,或许对你来说是不够的!

    TLDR: 当我们需要的时候,我们可以通过AbortController接口来终止一个或者多个请求. 前言 到目前为止,我们有两个常用的基本的手段去发送请求进而局部刷新页面内容,其一是XMR(XMLH ...

  5. http请求中必备的字符段_React Hooks中这样写HTTP请求可以避免内存泄漏

    作者:蓝色的秋风 转发链接:https://mp.weixin.qq.com/s/Sedap5_fszLuw3PMkvzFeQ 前言 大家好 ! 今天,让我们看一下在 React Hooks 中使用 ...

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

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

  7. 禁止触摸屏触控板手指缩放,需要这样处理

    目录 禁止缩放 触控板 触摸屏 css 处理 js 处理 扩展解读 touch-action touch-action 属性值 wheel 与 mousewheel passive options参数 ...

  8. AbortController-中止请求

    控制器+信号机动 满足AbortController和AbortSignal: const controller = new AbortController(); const signal = con ...

  9. 触摸板触摸屏禁止手指缩放,这么处理才行

    禁止缩放 有天,辛苦做了个复杂操作功能的页面,上线后有用户反馈:很多功能使用不了.惊了,以为是哪里出了bug. 立马联系用户,才发现原来是用户使用笔记本电脑,没有禁用触控板,然后不小心碰到导致整个界面 ...

最新文章

  1. 语言全局变量跨文件_C 语言课上不会讲的一些问题
  2. PXI和CompactPCI的区别比较
  3. CSS之【超链接伪类】
  4. python io_python-IO
  5. linux 7 pxe,CentOS 7.6 PXE方式安装和配置
  6. windows下安装cygwin以及SeismicUnix在cygwin下的安装(windows下安装linux环境,非虚拟机、非双系统)
  7. amazon s3_在Amazon S3上托管静态网站
  8. burpsuite工具抓取Https数据包
  9. EasyClick IOS 自动化测试报错
  10. 腾讯程序员不寻常的三年
  11. python 进化树_7款物种分类(进化树地位)信息检索工具使用方法
  12. 中国曲谱网爬虫研究(Python)
  13. Vue之assets图片加载不出来
  14. BPEL与XPDL的定位区别
  15. 当勺子遇到“黑科技”,竟可尝百味
  16. Lua实现三目运算符
  17. STM32通过PWM驱动两个直流电机
  18. 数据中心综合布线系统
  19. python短视频自动制作_拒绝降权!教你用 Python 确保制作的短视频独一无二
  20. 计算机软考下午考试,2020年计算机软考下午考题解答技巧方法

热门文章

  1. 整人方法,叫你怎么整人,屡试屡爽!
  2. jrtplib介绍 [转]
  3. php对‘[{“id“:“1“,“name“:“cyg”},{“id“:“2“,“name“:“liwen“}]json数据进行修改删除操作
  4. css样式,背景渐变+图片,三角-实心-空心
  5. 女软件工程师在各大名企求职80天的经历(感觉很深刻)
  6. OpenCore引导安装戴尔-G7笔记本黑苹果之历程
  7. 这世界很大,这世界也很小
  8. 决策规划算法四:Piecewise Jerk Path Optimizer
  9. chatgpt赋能python:Python手机密码解锁-打开手机的一条捷径
  10. 免费基站定位api代码分享