前端连续发送同一个请求时,终止上一次请求

场景:几个tab页之间快速的切换(tab页只是参数不同,下边的数据渲染给同一个data)就会导致如果我在1,2,3,tab页按照顺序快速点击,发送三个请求,我想要展示的是3但是如果1或者2请求响应的时间比3长那么就会导致我最终渲染的数据是1的。

画个图理解一下:

比如X轴为请求,Y轴为每个请求响应的时间,这三个请求按顺序发送那么渲染的data会先为3然后为2最终变成了1,但是此时tab页是绑定的是3。

解决:

let controller = null;async function fetchData(url, method, data) {// 如果存在上一个请求,则终止它if (controller) {controller.abort();}// 创建一个新的 AbortControllercontroller = new AbortController();const signal = controller.signal;try {let options = { signal, method };if (method === 'POST' && data) {options.body = JSON.stringify(data);options.headers = { 'Content-Type': 'application/json' };}const response = await fetch(url, options);const responseData = await response.json();console.log(responseData);} catch (error) {console.error('Request aborted or network error', error);} finally {// 请求完成后将 controller 置为 nullcontroller = null;}
}// 调用 fetchData 函数
// GET 请求示例
fetchData('https://lutu.com', 'GET');// POST 请求示例
const postData = { key: 'value' };
fetchData('https://lutu.com', 'POST', postData);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/703646.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Online RL + IL : Active Policy Improvement from Multiple Black-box Oracles

ICML 2023 paper code 紧接上一篇MAMBA,本文在同种问题设定下的在线模仿学习方法。 Intro 文章提出了一种新的模仿学习算法,名为 MAPS(Max-aggregation Active Policy Selection)和其变体 MAPS-SE(Max-aggregation A…

SuperBox设计出图的效率提升!新增内门自动开孔和垫高支架图纸输出功能

越来越多的配电箱项目要求带内门,内门不仅可以有效减少外界灰尘、异物进入配电箱内部,保障配电箱正常运行,还能够隔离操作人员意外触摸导电部件,减少触电事故的发生。但是配电箱在配置内门后,会给设计带来更多的要求&a…

AI预测福彩3D采取887定位大底=23策略+杀断组+杀组选+杀和尾+杀和值012缩水测试5月15日预测第1弹

昨天与一位玩3D的彩友通过视频直播的形式聊了下,受益匪浅,给我提供了一些比较有价值的建议,比如,对于887的定位策略,方向是没问题的,但是8873的话,还是缺乏一定的命中率,如果88723&a…

中北大学软件学院javaweb实验三JSP+JDBC综合实训(一)__数据库记录的增加、查询

目录 1.实验名称2.实验目的3.实验内容4.实验原理或流程图5.实验过程或源代码(一)编程实现用户的登录与注册功能【步骤1】建立数据库db_news2024和用户表(笔者使用的数据库软件是navicat)【步骤2】实现用户注册登录功能(与上一实验报告不同的是&#xff0…

应用层之 HTTP 协议

HTTP 协议 HTTP (全称为 "超文本传输协议") 是一种应用非常广泛的 应用层协议。所谓 "超文本" 的含义, 就是传输的内容不仅仅是文本(比如 html, css 这个就是文本), 还可以是一些 其他的资源, 比如图片, 视频, 音频等二进制的数据。浏览器获取到网页&#…

EE-SX670 槽型光电开关 5MM 限位检测感应器 使用案例

EE-SX670是一款槽型光电开关,也被称为U形传感器或限位检测感应器。它是光电传感器中的一种,通过检测物体是否插入其感应槽来触发开关。这种传感器通常用于自动化生产线上的位置检测、对象计数以及安全设备中的运动检测。 EE-SX670作为一款高性能的光电传…

ESP8266-01模块继电器制作手机APP远程遥控智能开关

资料下载地址: ESP8266-01模块继电器制作手机APP远程遥控智能开关 这是一款使用ESP8266-01模块继电器制作手机APP远程遥控智能开关,它能实现远程遥控、定时、倒计时控制。电路简单,适合新手入门制作,下图是用这个智能开关制作的小…

2024年网络安全威胁

随着2024年的到来,数字世界的版图正在以前所未有的速度扩张,引领我们进入一个技术革新的新时代。然而,这飞速的发展同时也催生了一系列错综复杂的网络安全挑战。在这个数字平台与我们生活日益紧密交织的时代,深入了解这些新兴的威…

小米15曝光?可能会要稍微涨价

也许是感受到了智能机市场的逐渐复苏,最近各大手机品牌发售新品的速度明显加快了。从4月份的Redmi、一加,再到5月份一大堆vivo、OPPO新机型的发布。而近日,有关小米14即将发售的消息也是悄咪咪的放了出来。 去年发售的小米14可以说是狠狠地让…

CC工具箱使用指南:【界线导出Excel(一横)】

一、简介 群友定制工具。 这个工具的目的是将面要素的边界线的属性导出Excel。 给定的Excel模板如下: 结果需要输出每一段界一的起点、终点的坐标,这里以度分秒的方法表达。 每段界线的方位角以及方向,方向按16位方位角描述: …

如何使用AspectJ做切面,打印jar包中方法的执行日记

最近在工作中遇到一个redis缓存中的hash key莫名其妙被删除的问题,我们用了J2Cache,二级缓存用的是redis。hash key莫名其妙被删除又没有日志,就想到做一个切面在调用redis删除hash key的方法的时候,打印日志,并且把调…