Ajax并发请求控制

Posted 前端一把唆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax并发请求控制相关的知识,希望对你有一定的参考价值。

前言

https://github.com/yuanhaovvv/wechat-article

感觉这应该是面试中很频繁的题了,虽然老看到,却没有细细的去思考,去做,以为很简单,但是在做的时候还是稍微用了点功夫。

开始

题目:

    Ajax并发请求控制,有100个请求,最大并发数为5,每一条请求成功后,继续请求,直到请求完所有,先不考虑失败的场景!

思路:

    看到异步,首先想到Promise.then 完成后继续调用,继续调用,嗯,递归跑不掉了,那如何知道请求了多少条呢?还需要个成功的计时器,ok,开搞


代码

function multiRequest(urls, maxNum = 5{ let len = urls.length, // 成功条数 completeCount = 0, // 成功结果        result = [];        // 先发送5条        while(complete < maxnum) {         next()        }        function next() {            // 关键 完成数            let count = complateCount++            request(urls[count]).then(resolve => {                if (completeCount < len) {              result[count] = resolve              // 每次成功继续调用 next()                }            }).catch(reject => {             // 错误情况            })        }}
最后


demo在仓库中,大家有兴趣可以看下,也可施舍个star~~


 https://github.com/yuanhaovvv/wechat-article


如果你觉得我写的有用,麻烦大家给个关注和赞,定期写源码相关的东西,提升自己,帮助大家。


    “  努力、加油!  ”





以上是关于Ajax并发请求控制的主要内容,如果未能解决你的问题,请参考以下文章

全栈编程系列SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题配置启动异常No SecurityManager...)(代码片段

面试字节跳动:请用JS实现Ajax并发请求控制

字节跳动面试官:请用JS实现Ajax并发请求控制

字节跳动面试官:请用JS实现Ajax并发请求控制

控制器无法检测到 ajax 请求

Spring MVC 3.2 Thymeleaf Ajax 片段