为什么需要在循环里fetch?

假设有多个设备连接在后端,数量不定,需要按个读回状态,那么就要在循环里fetch了.

此函数非常好用,来自于国内一个作者,时间久了,忘记了来源,抱歉.

export default async function fetchWithTimeout(resource, options = {}) {const { timeout = 1000 } = options;const controller = new AbortController();const id = setTimeout(() => controller.abort(), timeout);const response = await fetch(resource, {...options,signal: controller.signal,});clearTimeout(id);return response;}

使用: 

  try {for (let i = 0; i < autowindownum.length; i++) {const sth = await getAutoWindow(serverAddress,storeInfo.devicenum,autowindownum[i],storeInfo.deviceip);console.log(sth.result);setAutoWindow((old) => [...old,{num: autowindownum[i],img: getAutoWindowImage(sth.result[9]),statu: getAutoWindowStatu(sth.result[9]),},]);}} catch (error) {console.log("error-----------", error);}

export async function getAutoWindow(serverAddress, devicenum, channelNum, deviceip) {//console.log(serverAddress, devicenum, channelNum, deviceip);const options = {method: "GET",headers: {Accept: "application/json","Content-Type": "application/json",},timeout: 3000,};const res = await fetchWithTimeout(`${serverAddress}/api/v1/measure/autowindow?devicenum=${devicenum}&&channelnum=${channelNum}&&deviceip=${deviceip}`,options);const data = await res.json();// console.log(data);return data;
}

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

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

相关文章

不同净化技术(静电 / UV / 湿式)的性能对比研究

在餐饮油烟和工业废气治理领域&#xff0c;油烟净化技术的选择至关重要。目前&#xff0c;静电、UV 光解、湿式洗涤是市场上应用较为广泛的三种净化技术。它们凭借不同的工作原理和技术特性&#xff0c;在净化效率、能耗、适用场景等方面展现出各自的优势与局限。本文将从多个维…

Ubuntu 22.04上升级npm版本

如果使用NVM安装Node.js npm会自动包含&#xff0c;但版本可能不是最新的。你可以选择升级&#xff1a; # 检查当前版本 npm --version# 升级到最新版本 npm install -g npmlatest# 或者升级到特定版本 npm install -g npm9.8.1如果使用其他方法安装Node.js 通常Node.js安装…

项目管理进阶:111页 详解华为业务变革框架及战略级项目管理【附全文阅读】

BTMS 是一套集成管理系统框架&#xff0c;涵盖变革规划、项目执行、实施及生命周期管理等多个关键环节。在规划阶段&#xff0c;通过全面收集需求、深入分析现状&#xff0c;制定出符合业务战略的年度规划&#xff0c;明确变革举措和项目清单。 解决方案开发的 PMOP 流程&#…

java基础知识回顾1(可用于Java基础速通)考前,面试前均可用!

目录 一、初识java 二、基础语法 1.字面量 2.变量 3.关键字 4.标识符 声明&#xff1a;本文章根据黑马程序员b站教学视频做的笔记&#xff0c;可对应课程听&#xff0c;课程链接如下: 02、Java入门&#xff1a;初识Java_哔哩哔哩_bilibili 一、初识java Java是美国 sun 公…

Linux下MySQL的安装与使用

1 安装前说明 1.1 Linux系统及工具的准备 安装并启动好两台虚拟机&#xff1a;CentOS 7 掌握克隆虚拟机的操作 mac地址主机名ip地址UUID 安装有 Xshell 和 Xftp 等访问 CentOS 系统的工具 CentOS6 和 CentOS7 在 MySQL 的使用中的区别 防火墙&#xff1a;6是iptables&am…

在react项目中使用andt日期组件,选择周和季度,直接获取所对应的日期区间

在react项目中使用andt日期组件&#xff0c;选择周和季度&#xff0c;直接获取所对应的日期区间 import { DatePicker, Space } from antd; import React from react; const onChange (date, dateString) > {console.log(date,dateString) }; const onChangeweek (date, …

数字信号处理大实验2 利用FFT估计信号的频率

目录 3.1 实验目的 3.2 实验内容与要求 3.3 实验原理 3.3.1 基于时域求导-频域乘法的n阶导数积分法 3.3.2 基于频域卷积的双/多谱线插值法 3.3.3 基于谱峰和滑动平均的多谱线综合插值方法 3.3.4 基于相邻显著谱线的滑动平均综合插值方法 3.3.5 基于&#xff08;2&#…

【Java】Java元注解

Target(ElementType.METHOD) Retention(value RetentionPolicy.RUNTIME) public interface OperatorLog {String source() default "WEB"; //日志操作来源 默认是web&#xff0c;还有socket的String model() default ""; //操作模块 }这个代码中的 Target…

阿里云百炼(1) : 阿里云百炼应用问答_回答图片问题_方案1_提问时上传图片文件

直接用于拍照答题不大理想, 可能适用其他用途, 更好的方案: 阿里云百炼(1) : 阿里云百炼应用问答_回答图片问题_方案2_提取题目再提问-CSDN博客 1.实现代码 package cn.nordrassil.ly.test.拍照答题;import com.alibaba.dashscope.app.Application; import com.alibaba.dashsc…

深入探索 CSS 中的伪类:从基础到实战​

在前端开发的世界里&#xff0c;CSS 作为网页样式的 “化妆师”&#xff0c;有着至关重要的作用。而 CSS 伪类则像是这位 “化妆师” 手中的神奇画笔&#xff0c;能够基于元素的状态或位置为其添加独特的样式&#xff0c;极大地丰富了网页的交互性和视觉效果。接下来&#xff0…

c++ constexpr关键字

constexpr字面意思为常量表格式&#xff0c; 用于指示编译器在编译时计算表达式的值。 1、作为常量表格式&#xff0c;必须在编译时就能确定其值。如&#xff1a;constexpr int size 9527; 2、可以修饰函数&#xff0c;要求能在编译时求值&#xff0c;所以传的参数也必须是编…

服务器硬盘分类

以下是服务器硬盘的综合性分类与技术特性分析&#xff0c;依据当前行业标准及技术演进整理&#xff1a; 一、按存储介质分类 1. ‌机械硬盘&#xff08;HDD&#xff09;‌ ‌ 核心特性‌&#xff1a;采用旋转磁盘与机械磁头结构&#xff0c;通过磁道寻址实现数据读写 …

图解深度学习 - 机器学习简史

前言 深度学习并非总是解决问题的最佳方案&#xff1a;缺乏足够数据时&#xff0c;深度学习难以施展&#xff1b;某些情况下&#xff0c;其他机器学习算法可能更为高效。 若初学者首次接触的是深度学习&#xff0c;可能会形成一种偏见&#xff0c;视所有机器学习问题为深度学…

ConceptAttention:Diffusion Transformers learn highly interpretable features

ConceptAttention: Diffusion Transformers Learn Highly Interpretable Featureshttps://arxiv.org/html/2502.04320?_immersive_translate_auto_translate=1用flux的attention来做图文的显著性分析。 1.i

【Python正则表达式终极指南】从零到工程级实战

目录 &#x1f31f; 前言&#x1f3d7;️ 技术背景与价值&#x1fa79; 当前技术痛点&#x1f6e0;️ 解决方案概述&#x1f465; 目标读者说明 &#x1f9e0; 一、技术原理剖析&#x1f4ca; 核心概念图解&#x1f4a1; 核心作用讲解&#x1f527; 关键技术模块说明⚖️ 技术选…

C++对象的内存模型

C++对象的内存模型涉及对象的数据成员(包括静态成员和非静态成员)、成员函数以及虚函数表等在内存中的布局和管理方式。以下是C++对象的内存模型的主要组成部分: 1. C++对象的组成 一个C++对象通常由以下几个部分组成: 非静态数据成员 对象的核心组成部分,每个对象都有自己…

hugging-face数据集快速下载

开发机配置外网代理并使用 git lfs 高速下载 Hugging Face 数据集流程 本文档将介绍如何配置开发机的代理&#xff0c;登录 Hugging Face&#xff0c;并使用 git-lfs &#xff08;Git Large File Storage&#xff09;进行数据集的高速下载。 1. 配置代理连接外网 开发机在某些…

17、Python对象操作全解析:同一运算符、成员运算符与整数缓存机制实战

适合人群&#xff1a;零基础自学者 | 编程小白快速入门 阅读时长&#xff1a;约8分钟 文章目录 一、问题&#xff1a;Python 同一运算符的本质与实战&#xff1f;1、例子1&#xff1a;双胞胎身份证验证2、答案&#xff1a;&#xff08;1&#xff09;is 同一运算符介绍&#xff…

使用auto-coder将kotti项目的pyramid依赖从1.x升级到2.x,将SQLALchemy从1.x升级到2.x

缘起 kotti是一个非常好的基于pyramid框架的web搭建项目&#xff0c;但是由于作者离世&#xff0c;已经3年没有更新了。 尝试使用auto-coder将kotti项目的pyramid依赖从1.x升级到2.x&#xff0c;同时发现SQLALchemy依赖也有问题&#xff0c;将SQLALchemy从1.x升级到2.x 开始…

luckysheet的使用——17.将表格作为pdf下载到本地

luckysheet源码里面自带有打印按钮&#xff0c;但是功能是无法使用的&#xff0c;所以我把该功能重写了一遍 1.在menuButton.js文件中找到源码打印按钮的触发事件&#xff1a; $("#luckysheet-icon-print").click(function () {}2.使用自己写的挂载方法 window.pr…