美文网首页面试篇
根据最大并发数实现并发请求

根据最大并发数实现并发请求

作者: Mstian | 来源:发表于2024-11-19 22:12 被阅读0次
function concurrencyFetch(urls, maxNum) {
  if (urls.length == 0) {
    return Promise.resolve([])
  }

  let index = 0;
  let result = [];
  return new Promise((resolve) => {
    async function _request() {

      let i = index;
      let url = urls[index]
      index++;
      try {
        let res = await fetch(url)
        result[i] = res;

      } catch (error) {
        result[i] = error;
      } finally {

        console.log(i, urls.length, 'xx')
        if (index == urls.length) {
          resolve(result);
        }
        if (index < urls.length) {
          _request()
        }

      }
    }

    for (let i = 0; i < maxNum; i++) {
      _request();
    }
  })

}

const urls = ['https://jsonplaceholder.typicode.com/todos/1', 'https://jsonplaceholder.typicode.com/todos/2', 'https://jsonplaceholder.typicode.com/todos/3']



concurrencyFetch(urls, 2).then((res) => {
  console.log(res, 'resss');
})

相关文章

  • 压力测试

    压力测试需要注意点: 并发数 请求文件的大小和请求数量的笛卡尔积 在请求数相同的情况下,最大支持的用户并发数 压力...

  • OS开发多线程篇—NSOperation基本操作

    一、并发数 (1)并发数:同时执⾏行的任务数.比如,同时开3个线程执行3个任务,并发数就是3 (2)最大并发数:同...

  • jmeter(九) 简单压测

    压测策略:不同并发数:10,50,100,200,400 压测结果:并发数:最佳并发用户数、最大并发用户数流量:每...

  • 信号量Semaphore

    异步并发控制线程数 dispatch_semaphore_create 设置最大并发数 dispatch_sema...

  • iOS多线程篇-NSOperation方法使用

    NSOperation-方法使用 一、并发数 简介(1)该属性控制队列是串行执行还是并发执行(2)如果最大并发数等...

  • Jmeter介绍及视频教程

    1、常用测试原件: 测试计划:默认 线程组:并发数、并发时间、并发次数 采样器:较常用HTTP请求、JDBC Re...

  • 参数化的例子

    注意 队列的 queue.Queue() 数量必须大于或者等于最大并发数,否则最多并发数不准确

  • Tomcat 请求线程的解析

    查询tomcat当前并发连接数 关于tomcat 请求线程的问题 Tomcat 请求线程数

  • golang 并发实例

    go关键字实现并发请求示例:

  • 实现同步控制最大并发数

网友评论

    本文标题:根据最大并发数实现并发请求

    本文链接:https://www.haomeiwen.com/subject/goubjjtx.html