取消Fetch API请求
2019-02-25 16:11:11来源:博客园 阅读 ()
如今,Fetch API已经成为现在浏览器异步网络请求的标准方法,但Fetch也是有弊端的,比如: Fetch还没有方法终止一个请求,而且Fetch无法检测上传进度
现在我们可以通过 AbortController 和 AbortSignal 来终止,代码如下:
const controller = new AbortController()
const signal = controller.signal
fetch('./data.json', { signal })
可以通过controller.abort()来通知终止事件,比如,你可以在请求发出后3秒来终止请求
setTimeout(() => { controller.abort(); }, 3 * 1000);
如果请求完成了,调用absort()不会发生错误
如果请求没有完成,那么Fetch就会抛出一个DOMException异常,异常的name属性值为"AbortError",可以在promise中的catch捕获这个异常
例如: fetch('./data.json', { signal })
.then((res) => {})
.catch((err) => {
if (err.name === 'AbortError') {
console.log('Fetch aborted');
} else {
console.log('Another error');
}
})
原文链接:https://www.cnblogs.com/yezi-dream/p/10426213.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 分享JavaScript获取网页关闭与取消关闭的事件 2020-02-29
- 前端笔记之微信小程序(三)GET请求案例&文件上传和 2019-08-14
- 网页百度地图api,支持位置偏移 2019-08-14
- 浏览器 DNS缓存与DNS prefetch (DNS预解析) 2019-08-14
- Webpack 4教程 - 第八部分 使用prefetch和preload进行动态加 2019-05-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash