JavaScript怎么取消请求

取消 XMLHttpRequest 请求

当请求已经发送了,可以使用 XMLHttpRequest.abort() 方法取消发送,代码示例如下:

const xhr = new XMLHttpRequest();xhr.open('GET', '<http://127.0.0.1:3000/api/get>', true);xhr.send();setTimeout(() => {	 xhr.abort();}, 1000);

取消请求,readyState 会变成 XMLHttpRequest.UNSENT(0);请求的 xhr.status 会被设为 0 ;

不如在 Chrome DevTools Network 中,看看正常请求和取消请求的对比图:

JavaScript怎么取消请求

取消 Fetch 请求

取消 Fetch 请求,需要用到 AbortController API。我们可以构造一个 controller 实例:const controller = new AbortController() , controller 它有一个只读属性 AbortController.signal,可以作为参数传入到 fetch 中,用于将控制器与获取请求相关联;

代码示例如下:

const controller = new AbortController();void (async function () {    const response = await fetch('<http://127.0.0.1:3000/api/get>', {        signal: controller.signal,    });    const data = await response.json();})();setTimeout(() => {    controller.abort();}, 1000);

浏览器控制台对比图:

JavaScript怎么取消请求

我们其实可以在 controller.abort() 传入“取消请求的原因”参数,然后进行 try…catch 捕获

JavaScript怎么取消请求

取消 aixos 请求

axios 同样支持 AbortController

const controller = new AbortController();const API_URL = '<http://127.0.0.1:3000/api/get>';void (async function () {    const response = await axios.get(API_URL, {        signal: controller.signal,    });    const { data } = response;})();setTimeout(() => {    controller.abort();}, 1000);

控制台截图:

JavaScript怎么取消请求

错误捕获:

JavaScript怎么取消请求

注意:axios 之前用于取消请求的 CancelToken 方法已经被弃用

关于“JavaScript怎么取消请求”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“JavaScript怎么取消请求”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

文章标题:JavaScript怎么取消请求,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/25407

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年9月15日 下午11:17
下一篇 2022年9月15日

相关推荐

  • 如何分析SQLMap和SQLi注入防御

    名列前茅部分:Sqlmap使用 1.1 sqlmap介绍 1. 前边说了一些sql注入的基础语句,但是手工注入很麻烦,我们可以借助sqlmap这个强大的sql注入工具,进行数据的获取. 2. sqlmap介绍 (1)#sqlmap是一种开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接入该数…

    2022年9月16日
    21200
  • html中的from标签的作用介绍

    在html中,from标签用于创建供用户输入的HTML表单(表单域),以实现用户信息的收集和传递,form中的所有内容都会被提交给服务器;语法“<form action=”提交地址” method=”提交方式” name=”表单名称&…

    2022年9月16日
    91500
  • MySQL外键约束知识点有哪些

    一、MySQL外键约束作用 外键约束(Foreign Key)即数据库中两个数据表之间的某个列建立的一种联系。这种联系通常是以实际场景中含义完全相同的字段所造成的。MySQL通过外键约束的引入,可以使得数据表中的数据完整性更强,也更符合显示情况。下面,我举一个例子来说明MySQL外键约束的作用。 假…

    2022年9月15日
    31400
  • java常见log日志如何使用

    前言 log日志可以debug错误或者在关键位置输出想要的结果 java日志使用一般有原生logger、log4j、Slf4j等 一般的日志级别都有如下(不同日志不一样的方法参数,注意甄别) 参数 描述 OFF、ON 不输出或者输出所有级别信息,通常使用在setLevel方法中 FATAL 致命错误…

    2022年9月18日
    31700
  • 图片怎么转换成word文档

    图片转换成word文档教程: 1、首先下载一个wps并打开。 2、打开后,点击应用中心里的“更多” 3、如果是办公助手,那就点击左下角的图标,如图所示。 4、打开后,在其中找到“图片转文字”工具。 5、随后点击顶部的“添加图片” 6、添加完成后,选择“转化为文档”就可以了。 关于“图片怎么转换成wo…

    2022年9月1日
    44100
  • SQL注入中宽字节注入是什么

    宽字节注入:是属于SQL注入的一种绕过方式 一、宽字节概念: 1、单字节字符集:所有的字符都使用一个字节来表示,比如 ASCII 编码(0-127) 2、多字节字符集:在多字节字符集中,一部分字节用多个字节来表示,另一部分(可能没有)用单个字节来表示。 3、UTF-8 编码: 是一种编码的编码方式(…

    2022年9月6日
    23900
  • 如何使用Masscan、Nmap、ELK做内网资产收集

    安装 安装masscan # yum install git gcc make libpcap-devel# git clone https://github.com/robertdavidgraham/masscan# cd masscan# make# cp bin/masscan /bin 安…

    2022年9月8日
    34500
  • windows todesk如何传输文件

    todesk传输文件的方法 1、 打开ToDesk,进入“设备列表”,选中想要传输的对象 2、选中后,点击右侧的“文件传输”,就能将需要的文件传给对方了 3、或者还有一种方法,就是点击工具栏箭头按钮 4、选择“文件” 5、最后在其中选中文件夹就可以进行文件的传输了。 感谢各位的阅读,以上就是“win…

    2022年9月26日
    97600
  • windows浩辰cad看图王怎么统计数量

    浩辰cad看图王统计数量的方法: 1、首先我们打开图纸,进入“扩展工具” 2、点击其中的“块统计”按钮。 3、左键点击想要统计的块。(选区会以虚线形式表现) 4、然后可以修改统计条件,如果想要选择别的图块可以点击“重新选择” 5、还能修改统计的图块类型和统计范围。 6、修改完成后,点击下方“统计”,…

    2022年9月20日
    29500
  • MySQL日志管理怎么配置

    MySQL的日志默认保存在数据库文件的存储目录(一般为/usr/local/mysql/data/)。也可以修改配置文件,自定义日志文件的保存位置。 我这里在编译安装时,数据库文件存储目录设置的是/home/mysql。 一、四种日志介绍 1.1 错误日志 错误日志,用来记录当MySQL启动、停止或…

    2022年9月21日
    47600
联系我们
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部