首页 > 其他分享 >一次性强求很多和接口处理方法

一次性强求很多和接口处理方法

时间:2024-07-19 17:34:27浏览次数:15  
标签:queue const requestPromiseFactory 一次性 接口 reqs current 强求 concurrency

import axios from 'axios'

export const handQueue = (
  reqs // 请求总数
) => {
  reqs = reqs || []


  const requestQueue = (concurrency) => {
    concurrency = concurrency || 6 // 最大并发数
    const queue = [] // 请求池
    let current = 0

    const dequeue = () => {
      while (current < concurrency && queue.length) {
        current++;
        const requestPromiseFactory = queue.shift() // 出列
        requestPromiseFactory()
          .then(() => { // 成功的请求逻辑
          })
          .catch(error => { // 失败
            console.log(error)
          })
          .finally(() => {
            current--
            dequeue()
          });
      }

    }

    return (requestPromiseFactory) => {
      queue.push(requestPromiseFactory) // 入队
      dequeue()
    }

  }

  const enqueue = requestQueue(6)

  for (let i = 0; i < reqs.length; i++) {

    enqueue(() => axios.get('/api/test' + i))
  }
}

转自面试官:假如有几十个请求,如何去控制并发? - 掘金 (juejin.cn)

标签:queue,const,requestPromiseFactory,一次性,接口,reqs,current,强求,concurrency
From: https://www.cnblogs.com/7788mmhh/p/18311960

相关文章

  • PHP curl 模拟GET请求接口报错HTTP Status 400 – Bad Request 问题
    网上查的解决方案:https://blog.csdn.net/sunsijia21983/article/details/123204143问题:PHP用curl模拟GET请求接口报错HTTPStatus400–BadRequesthttp://xxx/api/getZList?page=1&limit=20&zName=测试参数zName是英文、数字的时候都不会报错,输入汉字就报错400;解决方案:h......
  • vue对接口参数加密
    1.安装:npminstallcrypto-js或者yarnaddcrypto-js2.引入crypto-js,并封装加密解密的方法secureUtil.js/***Createdbylijingweion2018/1/12.*/importCryptoJSfrom'crypto-js'//SecureUtil=function(){varCONTRAST="0123456789ABCDEFGHIJKLM......
  • PHP编程中的接口与性状:实现代码解耦与功能复用的关键技术
    本文由ChatMoney团队出品在PHP编程中,接口是一种定义对象之间交互契约的强大工具。其核心目的不是让一个对象紧耦合地依赖另一个对象的特定身份,而是基于另一对象的能力进行交互。通过接口,我们的代码可以实现与依赖的解耦,从而允许我们的代码与任何实现了相应接口的第三方代码协......
  • PHP接口与性状的优雅应用
    本文由ChatMoney团队出品在PHP编程中,接口是一种定义对象之间交互契约的强大工具。其核心目的不是让一个对象紧耦合地依赖另一个对象的特定身份,而是基于另一对象的能力进行交互。通过接口,我们的代码可以实现与依赖的解耦,从而允许我们的代码与任何实现了相应接口的第三方代码协......
  • 软件测试面试“这个接口测试面试题”你都不会还来面试?
    很多人会谈论接口测试。到底什么是接口测试?如何进行接口测试?这篇文章会帮到你。前端和后端在谈论接口测试之前,让我们先明确前端和后端这两个概念。前端是我们在网页或移动应用程序中看到的页面,它由HTML和CSS编写而成,让我们看到漂亮的页面,并进行一些简单的校验,例如确保必......
  • elementui中使用input原生上传文件功能并提交到接口
    需求:表单中直接使用input进行文件上传,并直接传到后端表单接口 出现的问题:1.全局接口配置的请求头是application/json,要传formData需要修改请求头(不可能,绝对不可能)2.后端不单独对文件进行储存,因此无法使用独立封装的上传组件 解决方案:file转base64编码,然后通过JSON格式发送......
  • STM32的编码器接口如何实现倍频
    我们重点关注STM32的编码器接口是如何实现信号采集和倍频的。查STM32参考手册得到:接入编码器接口的是TI1FP1和TI2FP2。其中STM32的编码器接口在计数的时候,并不是单纯采集某一通道信号的上升沿或下降沿,而是需要综合另一个通道信号的电平。表中“相对信号的电平”指的就是在......
  • JavaScript手机号实名认证接口如何集成 验证手机号与持有人是否一致
    手机号实名认证接口是一种用于验证手机号码是否存在的实名登记服务,能够核验三大运营商(中国移动、中国电信、中国联通)手机号码的实名认证状态,通常被应用于网站、电商平台注册、支付平台注册等场景中,以便于核验用户身份的真伪,以此来保障用户身份信息与财产不受损失!随着市场......
  • PHP 调用 JD 详情 API 接口:数据获取新途径
    在当今数字化的商业环境中,准确和及时的数据对于企业的决策和运营至关重要。京东(JD)作为国内知名的电商平台,其商品详情数据具有极高的价值。通过使用PHP调用JD详情API接口,为我们开辟了一条全新的数据获取途径。一、JD详情API接口简介JD详情API接口提供了丰富的商......
  • 利用 PHP 获取淘宝详情 API 接口的实战技巧
    在电商领域的开发中,获取淘宝商品详情数据是一项关键任务。通过PHP来调用淘宝详情API接口,可以为我们的应用增添丰富的功能和价值。以下将分享一些实战技巧,帮助您更高效地实现这一目标。一、前期准备工作注册淘宝开放平台账号并申请API权限:确保您具备合法的访问权限。......