首页 > 其他分享 >处理API请求并行问题

处理API请求并行问题

时间:2023-08-02 15:22:30浏览次数:33  
标签:赛道 const 请求 并行 results API throat fetchPromises

背景: 我们有一个导出全部数据的功能, 因为各种原因, 可能需要同时发送10几条请求来获取数据

遇到的问题: 因为浏览器http/1.1最多同时进行6个请求, 所以会阻塞用户的其他操作

打个比喻:

之前我们是一个赛道, 可以上6个任意国家的运动员, 第七个人想上去就得排队

现在改为了两个赛道:

  • 赛道一可以同时上场4个任意国家的运动员, 但是优先加拿大的运动员
  • 赛道二可以同时上场2个除了加拿大以外的运动员

这样就完美解决了请求并行的问题

import Throat from 'throat';

// 一次只会请求4个
const throat = Throat(4);

const functionA = () => {      
const fetchPromises = []; const results = []; for (let i = 0; i < n; i++) { const fetchPromise = throat(async () => { const result = await fetch(//...); results.push(result); }); fetchPromises.push(fetchPromise); } await Promise.allSettled(fetchPromises); results.forEach((item) => { // ... });
}

 

标签:赛道,const,请求,并行,results,API,throat,fetchPromises
From: https://www.cnblogs.com/it-Ren/p/17600775.html

相关文章

  • http请求
    http示例API代码Code从网络获取数据1 概述日常生活中我们使用应用程序看新闻、发送消息等,都需要连接到互联网,从服务端获取数据。例如,新闻应用可以从新闻服务器中获取最新的热点新闻,从而给用户打造更加丰富、更加实用的体验。那么要实现这样一种能实时从服务端获取数......
  • .Net Web API 004 Controller获取对象列表,传入数据以及对象
    1、返回UserEntityList这个服务接口的目的是分为用户列表,代码如下所示。///<summary>///得到用户列表///</summary>///<returns></returns>[HttpGet][Route("GetUserList")]publicActionResult<List<UserEntity>>GetUserList(){varmyUse......
  • rest-apiV2.0.0升级为simplest-api开源框架生态之simplest-jpa发布
    什么是simplestsimplest追求存粹简单和极致。旨在为项目快速开发提供一系列的基础能力,方便用户根据项目需求快速进行功能拓展不在去关心一些繁琐。重复工作,而是把重点聚焦到业务。前言程序10年。作为一个多年程序。深知每个项目和程序,都有很多重复性工作要做。入行近10......
  • 使用 Axios 进行 HTTP GET 请求的详尽指南
    在进行网络请求时,axios 是一个非常常用的请求库。本文将介绍如何使用axios发起GET请求,并详细列出传参的几种写法。同时会提供一个实践案例,其中包含基本路由与请求处理的过程,并确保在IDE编辑器中可以顺利运行。什么是axios的GET请求?在开始之前,让我们简要了解一下axios......
  • 台积电迎新劲敌,Rapidus横空杀出欲抢2纳米客户 | 百能云芯
    8月2日消息,据台媒报道,台积电2纳米制程劲敌不只大家熟知的三星、英特尔,后面还有追兵,日本芯片国家队Rapidus也计划于2027年量产2纳米芯片,抢台积电客户。值得关注的是,英特尔上周财报会议上也放话,2025年用2纳米、1.8纳米从台积电手中拿回制程技术龙头地位,分析师透露,台积电内部相当紧张......
  • System.Web.HttpException:“超过了最大请求长度。”
    BUG:前端想后端发送坐标数组,控制器出现了如下报错: Answer:该错误提示表明你的HTTP请求超过了服务器允许的最大请求长度。这是为了防止恶意攻击或意外的大型请求对服务器造成压力。为了解决这个问题,你可以尝试以下几种方法:增加服务器的最大请求长度:你可以在服务器的配置中......
  • 干掉 CRUD!这个API开发神器效率爆炸,无需定义MVC类!!
    简介magic-api能够只通过UI界面就能完成简单常用的接口开发,能够支持市面上多数的关系性数据库,甚至还支持非关系性数据库MongoDB。通过 magic-api 提供的UI界面完成接口的开发,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象和相关文......
  • 干掉 CRUD!这个API开发神器效率爆炸,无需定义MVC类!!
    简介magic-api能够只通过UI界面就能完成简单常用的接口开发,能够支持市面上多数的关系性数据库,甚至还支持非关系性数据库MongoDB。通过 magic-api 提供的UI界面完成接口的开发,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象和相......
  • PHPGET请求的加密方法简介
    PHPGET请求的加密方法简介在Web开发中,经常会使用GET请求来获取远程服务器上的数据。然而,GET请求的数据通过URL传递,容易被拦截者获取并窃取其中的敏感信息。为了解决这个问题,我们可以采用加密方法来保护数据的安全性。PHPGET请求的加密方法简介下面介绍几种PHPGET请求的加密方法......
  • 淘宝API
     目录一、淘宝API相关介绍与地址二、淘宝API常用接口三、万邦淘宝API接口相关网址四、万邦淘宝API卖家/买家相关接口列表与说明卖家接口(oAuth2.0方式)应用场景买家接口(cookie方式)买家接口(oAuth2.0方式【不提供】)注册测试一、淘宝API相关介绍与地址淘宝开放平台介绍:[open.t......