前端发送并发请求思路

下面试ts简单写的思路代码

enum Statu {
  plain,
  plianing,
  error,
  ready,
}
// 并发数
class Parallel {
  num;
  files = [] as any[];
  PARALLEL_NUM = 0;
  async filesErrorTips () {
    // doto
  }
  async send (index: number) {
    if (!this.files[index]) return;

    if (this.files[index].Statu !== Statu.plianing) {
      this.send(++index);
      return;
    }

    if (this.files[index].Size > ‘500M‘) {
      await this.filesErrorTips();
      this.send(++index);
      return;
    }

    const res = await this.fetchApi();
    // 错误判断
    this.send(++index);
  }
  fetchApi () {
    // todo
  }
  init () {
    for (let i; i < this.PARALLEL_NUM; i++) {
      this.send(i);
    }
  }
}

原文地址:https://www.cnblogs.com/liangcheng11/p/9103007.html

时间: 2024-08-02 04:45:06

前端发送并发请求思路的相关文章

前端发送post请求,如何跟后端交互

假如,现在我做了一个给用户使用的html页面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <h1>helloPost!</h1> <body> <form method="post" action=

echarts通过ajax向服务器发送post请求,servlet从数据库读取数据并返回前端

1.echarts的官网上的demo,都是直接写死的随机数据,没有和数据库的交互,所以就自己写了一下,ok,我们开始一步一步走一遍整个流程吧. 就以官网最简单的那个小demo来做修改吧.官网上的小demo的效果图如下:(很熟悉,有没有) 2.按照echarts的使用方法新建一个echarts.html文件.为ECharts准备一个具备大小(宽高)的Dom(讲的有点细,熟悉的朋友直接跳过) <!DOCTYPE html> <head> <meta charset="u

浏览器允许的并发请求资源数 优化

首先,是基于端口数量和线程切换开销的考虑,浏览器不可能无限量的并发请求,因此衍生出来了并发限制和HTTP/1.1的Keep alive. 所以,IE6/7在HTTP/1.1下的并发才2,但HTTP/1.0却是4. 而随着技术的发展,负载均衡和各类NoSQL的大量应用,基本已经足以应对C10K的问题. 但却并不是每个网站都懂得利用domain hash也就是多域名来加速访问.因此,新的浏览器加大了并发数的限制,但却仍控制在8以内. 后端:浏览器即使放弃保护自己,将所有请求一起发给服务器,也很可能会

多 “维” 优化——前端高并发策略的更深层思考

作者:徐嘉伟,腾讯web前端开发 高级工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest 导读 一项指标的变好,总少不了相应优化策略的实施.优化并不是简单的一蹴而就,而是个不断迭代与推翻的过程.更深层的优化方案,往往是在某种思维策略之下,对问题场景和基本策略优缺的深刻理解后做出的当下最优的权衡结果.本文笔者从前端高并发优化这一具体点出发,逐步向大家阐述笔者在优化的"术"之上思维层面的一些思考.希望能给各位带来共鸣和感悟. 背景: 之所以会以前端高并发这

秒杀系统:并发队列 接口设计 并发请求数据安全处理

看秒杀系统的时候看到的关于并发队列的介绍,摘抄如下 并发队列的选择 Java的并发包提供了三个常用的并发队列实现,分别是:ArrayBlockingQueue.ConcurrentLinkedQueue 和 LinkedBlockingQueue  . ArrayBlockingQueue是初始容量固定的阻塞队列,我们可以用来作为数据库模块成功竞拍的队列,比如有10个商品,那么我们就设定一个10大小的数组队列. ConcurrentLinkedQueue使用的是CAS原语无锁队列实现,是一个异步

浏览器允许的并发请求资源数是什么意思?

这个问题药系统的回答,还需要从前后端两方面思考 这个问题实际上涉及非常多的考虑和因此而发生的优化技术: 首先,是基于端口数量和线程切换开销的考虑,浏览器不可能无限量的并发请求,因此衍生出来了并发限制和HTTP/1.1的Keep alive. 所以,IE6/7在HTTP/1.1下的并发才2,但HTTP/1.0却是4. 而随着技术的发展,负载均衡和各类NoSQL的大量应用,基本已经足以应对C10K的问题. 但却并不是每个网站都懂得利用domain hash也就是多域名来加速访问.因此,新的浏览器加大

Redis原子计数器incr,防止并发请求

转自:https://blog.csdn.net/Roy_70/article/details/78260826 一.前言在一些对高并发请求有限制的系统或者功能里,比如说秒杀活动,或者一些网站返回的当前用户过多,请稍后尝试.这些都是通过对同一时刻请求数量进行了限制,一般用作对后台系统的保护,防止系统因为过大的流量冲击而崩溃.对于系统崩溃带来的后果,显然还是拒绝一部分请求更能被维护者所接受. 而在各种限流中,除了系统自身设计的带锁机制的计数器外,利用Redis实现显然是一种既高效安全又便捷方便的方

Java多线程与高并发:高并发解决思路

Java多线程与高并发:高并发解决思路 小玲子之凌空蹈虚关注 122018.11.21 09:55:30字数 1,553阅读 4,228 來源:http://www.wangtianyi.top/blog/2018/05/11/javaduo-xian-cheng-yu-gao-bing-fa-liu-gao-bing-fa-jie-jue-si-lu/ 缓存并发 image.png 当大量请求访问同一个没有被缓存的数据的时候,会发送大量请求给数据库,导致数据库压力过大,还会导致一致性问题,所以

jmeter 发送http请求,并把获取到的请求的订单信息保存到文件中

有一个任务,需要频繁发送订单请求,并分析订单请求中有没有存在重复订单号,思路是用jmeter 发送http请求,使用正则表达式获取到订单号,并把订单号和线程号作为参数提供给java请求,在java请求中把订单号写到包括有线程号的命名文件中.完成出来的样子是这样的 步骤如下: 1.Jmeter 发送http请求 1) 新建HTTP信息头管理器 2) 新建HTTP请求 2,在下单过后返回部分信息如下:"msg":"下单成功","result":&qu