当前位置: 首页 > news >正文

js循环中发起请求数据不一致问题

项目场景:

在公司的一个项目中需要使用循环更改查询条件,然后查询子表数据,但是在查询过程中for下面的key变化了之后,查询中的key却并没有变化,导致查询的参数不一致,从未结果数据出错

     for(let i = 0;i<length;i++){let record = this.state.AllDate.CurvedataHVO_list.rows[i].valuesvar key = record.pk_curvedata.value// console.log(key)this.state.list.tablelist.tablelistRow = {values: record};this.querySlaveData({callback: (data) => {// console.log('发起请求')var mydata = {data}if ( !( key in this.state.chosedLine ) ) {//echarts表格var xValue = []var yValue = []for(const item  of  mydata.data.CurvedataBVO_sub.rows){yValue.push( (item.values.rate.value | 0 ) / 100)xValue.push( (item.values.term_days.value | 0) + '天' )}this.state.chosedLine[key] = [xValue,yValue,record.name.value]}else{delete this.state.chosedLine[key]}}})}


原因分析:

在循环过程中发起请求,因为请求有延迟,导致两次key取的是同一个数,所以最终数据出错


解决方案:

使用使用立即执行声明函数(IIFE)来确保请求中的 key 值与循环中的 key 值一致。

IIFE介绍:

IIFE(立即执行函数表达式)是一种在定义后立即执行的 JavaScript 函数。它通常用于创建一个私有的作用域,避免变量污染全局作用域,以及执行一些初始化操作。IIFE 的基本语法是将一个匿名函数包裹在圆括号中,然后紧接着的另一对圆括号会立即执行这个函数。

        for(let i = 0;i<length;i++){let record = this.state.AllDate.CurvedataHVO_list.rows[i].valuesvar key = record.pk_curvedata.value// console.log(key)this.state.list.tablelist.tablelistRow = {values: record};((record, key) => {this.querySlaveData({callback: (data) => {// console.log('发起请求')var mydata = {data}if ( !( key in this.state.chosedLine ) ) {//echarts表格var xValue = []var yValue = []for(const item  of  mydata.data.CurvedataBVO_sub.rows){yValue.push( (item.values.rate.value | 0 ) / 100)xValue.push( (item.values.term_days.value | 0) + '天' )}this.state.chosedLine[key] = [xValue,yValue,record.name.value]}else{delete this.state.chosedLine[key]}}});})(record, key);}

相关文章:

js循环中发起请求数据不一致问题

项目场景&#xff1a; 在公司的一个项目中需要使用循环更改查询条件&#xff0c;然后查询子表数据&#xff0c;但是在查询过程中for下面的key变化了之后&#xff0c;查询中的key却并没有变化&#xff0c;导致查询的参数不一致&#xff0c;从未结果数据出错 for(let i 0;i<…...

工作流自动化:提升效率、节约成本的重要工具

在现代社会中&#xff0c;软件和技术的运用使得我们的日常活动变得更加简单和高效。然而&#xff0c;这些技术也有自身的特点和独特之处。尽管我们使用这些工具来简化工作&#xff0c;但有时仍需要一些人工干预&#xff0c;比如手动数据录入。在工作场所中&#xff0c;手动数据…...

仿牛客论坛项目day7|Kafka

一、阻塞队列 创建了一个生产者线程和一个消费者线程。生产者线程向队列中放入元素&#xff0c;消费者线程从队列中取出元素。我们可以看到&#xff0c;当队列为空时&#xff0c;消费者线程会被阻塞&#xff0c;直到生产者线程向队列中放入新的元素。 二、Kafka入门 发布、订阅…...

[SpringCloud] 组件性能优化技巧

Feign 配置优化hystrix配置 优化ribbon 优化Servlet 容器 优化Zuul配置 优化 文章目录 1.Servlet 容器 优化2.Feign 配置优化3.Zuul配置 优化4.hystrix配置 优化5.ribbon 优化 1.Servlet 容器 优化 默认情况下, Spring Boot 使用 Tomcat 来作为内嵌的 Servlet 容器, 可以将 We…...

okhttp下载文件 Java下载文件 javaokhttp下载文件 下载文件 java下载 okhttp下载 okhttp

okhttp下载文件 Java下载文件 javaokhttp下载文件 下载文件 java下载 okhttp下载 okhttp 1、引入Maven1.1、okhttp发起请求官网Demo 2、下载文件3、扩充&#xff0c;读写 txt文件内容3.1读写内容 示例 http客户端 用的是 okhttp&#xff0c;也可以用 UrlConnetcion或者apache …...

Oracle/PL/SQL奇技淫巧之Json转表

在Oracle中&#xff0c;有些时候我们需要在一个json文档中查数据 这个时候我们可以通过JSON_TABLE函数来把 json文档 提取成一张可以执行正常查询操作的表 先看JSON_TABLE函数的基础用法&#xff1a; JSON_TABLE(json_data, $.json_path COLUMNS (column_definitions))其中&a…...

每日一学——网络安全

网络安全设计、原则、审计等知识点的精讲如下&#xff1a; 网络安全设计与原则&#xff1a; 网络安全设计是指在系统或网络的设计过程中考虑到安全性&#xff0c;并采取相应的安全措施来保护系统或网络不受威胁。安全设计原则包括最小权限原则&#xff08;Least Privilege Prin…...

python中的lstm:介绍和基本使用方法

python中的lstm&#xff1a;介绍和基本使用方法 未使用插件 LSTM&#xff08;Long Short-Term Memory&#xff09;是一种循环神经网络&#xff08;RNN&#xff09;的变体&#xff0c;专门用于处理序列数据。LSTM 可以记忆序列中的长期依赖关系&#xff0c;这使得它非常适合于各…...

【Flink】Flink窗口触发器

数据进入到窗口的时候,窗口是否触发后续的计算由窗口触发器决定,每种类型的窗口都有对应的窗口触发机制。WindowAssigner 默认的 Trigger通常可解决大多数的情况。我们通常使用方式如下,调用trigger()方法把我们想执行触发器传递进去: SingleOutputStreamOperator<Produ…...

深度云化时代,什么样的云网络才是企业的“心头好”?

科技云报道原创。 近年来企业上云的快速推进&#xff0c;对云网络提出了更多需求。 最初&#xff0c;云网络只是满足互联网业务公网接入。 随着移动互联网的发展&#xff0c;企业对云上网络安全隔离能力和互访能力、企业数据中心与云上网络互联、构建混合云的能力&#xff0…...

【快应用】快应用广告学习之激励视频广告

【关键词】 快应用、激励视频广告、广告接入 【介绍】 一、关于激励视频广告 定义&#xff1a;用户通过观看完整的视频广告&#xff0c;获得应用内相关的奖励。适用场景&#xff1a;游戏/快游戏的通关、继续机会、道具获取、积分等场景中&#xff0c;阅读、影音等应用的权益体系…...

国产化系统中遇到的视频花屏、卡顿以及延迟问题的记录与总结

目录 1、国产化系统概述 1.1、国产化操作系统与国产化CPU 1.2、国产化服务器操作系统 1.3、当前国产化系统的主流配置 2、视频解码花屏与卡顿问题 2.1、视频解码花屏 2.2、视频解码卡顿 2.3、关于I帧和P帧的说明 3、国产显卡处理速度慢导致图像卡顿问题 3.1、视频延…...

go内存管理机制

golang内存管理基本是参考tcmalloc来进行的。go内存管理本质上是一个内存池&#xff0c;只不过内部做了很多优化&#xff1a;自动伸缩内存池大小&#xff0c;合理切割内存块。 基本概念&#xff1a; Page&#xff1a;页&#xff0c;一块 8 K大小的内存空间。Go向操作系统申请和…...

【Python】Web学习笔记_flask(5)——会话cookie对象

HTTP是无状态协议&#xff0c;一次请求响应结束后&#xff0c;服务器不会留下对方信息&#xff0c;对于大部分web程序来说&#xff0c;是不方便的&#xff0c;所以有了cookie技术&#xff0c;通过在请求和响应保温中添加cookie数据来保存客户端的状态。 html代码&#xff1a; …...

用友U8+CRM 任意文件上传+读取漏洞复现

0x01 产品简介 用友U8 CRM客户关系管理系统是一款专业的企业级CRM软件&#xff0c;旨在帮助企业高效管理客户关系、提升销售业绩和提供优质的客户服务。 0x02 漏洞概述 用友 U8 CRM客户关系管理系统 getemaildata.php 文件存在任意文件上传和任意文件读取漏洞&#xff0c;攻击…...

【量化课程】08_1.机器学习量化策略基础实战

文章目录 1. 常用机器学习模型1.1 回归模型1.2 分类模型1.2.1 SVC介绍1.2.2 SVC在量化策略中的应用 2. 机器学习量化策略实现的基本步骤3. 策略实现 1. 常用机器学习模型 1.1 回归模型 线性回归多层感知器回归自适应提升树回归随机森林回归 1.2 分类模型 线性分类支持向量机…...

Mongodb 更新集合的方法到底有几种 (中) ?

更新方法 Mongodb 使用以下几种方法来更新文档 &#xff0c; Mongodb V5.0 使用 mongosh 客户端&#xff1a; db.collection.updateOne(<filter>, <update>, <options>) db.collection.updateMany(<filter>, <update>, <options>) db.c…...

预演攻击:谁需要网络靶场,何时需要

"网络演习 "和 "网络靶场 "几乎是当今信息安全领域最流行的词汇。与专业术语不同的是&#xff0c;这些词对于企业和高级管理人员来说早已耳熟能详&#xff1a;法律要求他们进行演习&#xff0c;包括网络演习&#xff0c;而网络射击场也经常在企业界和媒体上…...

【Linux】IO多路转接——poll接口

目录 poll初识 poll函数 poll服务器 poll的优点 poll的缺点 poll初识 poll也是系统提供的一个多路转接接口。 poll系统调用也可以让我们的程序同时监视多个文件描述符上的事件是否就绪&#xff0c;和select的定位是一样的&#xff0c;适用场景也是一样的。 poll函数 po…...

系统架构设计师---OSI七层协议

目录 OSI七层协议 各层主要功能和详细说明 Internet协议的主要协议及其层次关系...

《蔚蓝档案》主题鼠标指针:从设计到安装的完整指南

1. 项目概述&#xff1a;为你的桌面注入《蔚蓝档案》的活力如果你和我一样&#xff0c;既是《蔚蓝档案》的玩家&#xff0c;又是个喜欢折腾桌面美化的爱好者&#xff0c;那么看到一套高质量的游戏主题鼠标指针&#xff0c;那种“必须拥有”的心情我完全理解。今天要聊的这个项目…...

汽车后市场品牌营销路径:以奇正沐古和康明斯为例

在汽车后市场&#xff0c;很多品牌真正的难题并非没有技术、没有产品、没有资源&#xff0c;而是这些优势到了终端之后&#xff0c;无法变成司机、经销商和维修点愿意相信、愿意推荐、愿意购买的理由。康明斯发动机润滑油就是个典型例子&#xff0c;康明斯作为全球柴油发动机技…...

LangGraph 持久化深度解析:Checkpoint 机制如何实现对话记忆和断点续跑

很多同学在第一次接入 LangGraph 时&#xff0c;会发现图默认是「无状态」的——每次 invoke&#xff0c;上一轮的消息就消失了。你以为加了 MessagesState 就有记忆了&#xff0c;结果测试一问&#xff0c;Agent 完全不知道「你叫什么名字」。 更惨的是什么&#xff1f;生产环…...

2026年云端保姆级教程:如何搭建OpenClaw?Token Plan配置及大模型API Key接入

2026年云端保姆级教程&#xff1a;如何搭建OpenClaw&#xff1f;Token Plan配置及大模型API Key接入。OpenClaw是开源的个人AI助手&#xff0c;Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案…...

离散数学“黑话”指南:命题、谓词、群论,一次讲清程序员常遇到的术语

离散数学“黑话”指南&#xff1a;程序员视角下的概念破译 刚接触算法优化时&#xff0c;我盯着论文里的"幺半群"概念发愣——这和我在代码里写的if-else有什么关系&#xff1f;直到某天用状态机处理用户权限时突然顿悟&#xff1a;原来离散数学的抽象术语&#xff0…...

ComfyUI-WanVideoWrapper:一站式AI视频生成插件解决方案

ComfyUI-WanVideoWrapper&#xff1a;一站式AI视频生成插件解决方案 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper ComfyUI-WanVideoWrapper是一个专为ComfyUI设计的视频生成插件包装器&#x…...

工业视觉杂散物检测系统方案设计

构建一套完整可靠的工业视觉检测系统&#xff0c;核心在于将其无缝嵌入到现有的装配流程中。下面是一个从系统架构部署、执行标准、再到具体模块技术选型的完整实施方案&#xff0c;希望能帮你构建一套精准且高效的检测闭环。 &#x1f3d7;️ 系统总体架构 一个完整的检测系统…...

3分钟掌握Windows任务栏投资助手:打造你的桌面股票监控中心

3分钟掌握Windows任务栏投资助手&#xff1a;打造你的桌面股票监控中心 【免费下载链接】TrafficMonitorPlugins 用于TrafficMonitor的插件 项目地址: https://gitcode.com/gh_mirrors/tr/TrafficMonitorPlugins 想在Windows任务栏上实时监控股票行情&#xff0c;又不想…...

3步实现电脑风扇智能控制:FanControl.HWInfo插件终极指南

3步实现电脑风扇智能控制&#xff1a;FanControl.HWInfo插件终极指南 【免费下载链接】FanControl.HWInfo FanControl plugin to import HWInfo sensors. 项目地址: https://gitcode.com/gh_mirrors/fa/FanControl.HWInfo 还在为电脑风扇的噪音烦恼吗&#xff1f;或者担…...

2026年国民技术数字IC笔试试卷带答案

满分:100分 时间:90分钟 一、单选题(每题3分,共30分) 1. 在静态时序分析(STA)中,建立时间检查的公式为( ) A. Tclk + Tskew ≥ Tck-q + Tlogic + Tsetup B. Tclk - Tskew ≥ Tck-q + Tlogic + Tsetup C. Tclk ≥ Tck-q + Tlogic - Tsetup D. Tlogic ≥ Tsetup + Tho…...