赞
踩
背景:页面中需要同时发送10个请求,但是服务器限制,需要前端控制并发数,保证每次只能发送2个,直至所有请求全部发送完毕。
具体代码如下:
- const reqQueue = [1,2,3,4,5,6,7,8,9,10]; // 请求队列
- const handleRequest = (queue, callback) => {
- const result = []; // 请求结果
- let ajaxNum = 0; // 请求并发 计数器
- const length = queue.length; // 请求总数
- const newPromise = (id) => {
- return new Promise((resolve,reject) => {
- setTimeout(() => {
- resolve(`${id}的结果`);
- }, 1000);
- })
- }
- const newPromiseAll = (queue) => { // 封装控制并发函数
- while (ajaxNum < 2 && queue.length > 0)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。