JS对异步循环使用递归,分批进行大量异步请求
在上次使用了使用将同步请求改成异步请求的方法解决了
大量Ajax同步请求,出现浏览器页面假死,而Loading图标卡死的情况 之后
(详情见如下链接)
CSDNhttps://mp.csdn.net/mp_blog/creation/editor/121704028
又出现了第二个有待优化的问题,即进行大量的异步请求也会导致一些卡顿(因为请求的for循环次数是在太多)。
因此我想有没有什么办法在保证速度的同时,还能将大量的异步请求进行分批运行,一定数量的请求完成之后再进行下一批一定数量的请求。
然后在网上搜啊搜,就看到了这一篇文章
JS对异步循环使用递归 - mackxu - 博客园将循环实现为一个函数,我们可以决定何时开始每次迭代。https://www.cnblogs.com/mackxu/p/try-next-url.html使用对异步循环进行递归的方法:
//num为分批的数量,取决你想将数据分为几批;this.bulkQueryAndDel(num);var bulkQueryAndDe = function(index) {//这里进行异步请求...//然后等请求数据返回之后继续请求或者结束if( index > 0){_this.bulkQueryAndDel(Math.floor(index-1));} else{//结束后你想进行的操作} }
JS对异步循环使用递归,分批进行大量异步请求相关推荐
- js 异步循环使用递归
var loopAsync = function(taskArr, itemFn) {let len = taskArr.length;return new Promise((resolve, rej ...
- js的事件循环机制:同步与异步任务(setTimeout,setInterval)宏任务,微任务(Promise,process.nextTick)...
javascript是单线程,一切javascript版的"多线程"都是用单线程模拟出来的,通过事件循环(event loop)实现的异步. javascript事件循环 事件循环 ...
- js遍历树,多层嵌套for循环,递归
js遍历树,多层嵌套for循环,递归 一.目的 源数据示例 二.如何获得数据 多层for循环嵌套遍历树数据 递归遍历树数据 一.目的 遍历获取树数据中的部分数据. 源数据示例 menuType=2的数 ...
- 原生js循环展示dom_【前端面试】用一道题讲 js 的事件循环队列
昨天去面了滴滴,一口气面了三面,考了 promise 和事件循环.之前的猿辅导也考察了这些,几乎所有的大厂中厂都一定会考原生 js 的事件循环队列. 今天,我把昨天考察的原题拿出来分析一下. setT ...
- js结束当前循环关键词_干货||什么是事件循环机制
事件循环机制 经常有小伙伴问到我什么是 js 的事件循环机制,这里我就简单来给这些有困惑的小伙伴进行一下解答. 我将从下面几个方面来循序渐进的为大家来进行讲解: 区分进程和线程 浏览器的多进程 浏览器 ...
- 算法设计与分析之循环与递归
前言: 循环与递归可以说是算法设计中最基本但却也是最重要的工具方法.循环和递归对于学习过高级程序设计语言的人来说都并不陌生,但还是有必要仔细的探究一下循环和递归之间的相似和区别.循环与递归最大的相似之 ...
- 循环神经网络 递归神经网络_如何用递归神经网络预测空气污染
循环神经网络 递归神经网络 After the citizen science project of Curieuze Neuzen, I wanted to learn more about air ...
- mysql for循环_基于Swoole扩展开发异步高性能的MySQL代理服务器
MySQL数据库对每个客户端连接都会分配一个线程,所以连接非常宝贵.开发一个异步的MySQL代理服务器,PHP应用服务器可以长连接到这台Server,既减轻MYSQL的连接压力,又使PHP保持长连接减 ...
- 面试彩蛋2:分别用循环和递归实现下列函数
分别用循环和递归实现下列函数(跳出定势思维) 1.使用递归函数实现 double fun(int n){if(1==n){return 1.0; } else if(n>1){return fu ...
最新文章
- C 上传文件到服务器(含接收端源码)
- Python-OpenCV 处理视频(一)(二): 输入输出 视频处理
- Python os模块常用介绍
- python教程:使用生成器重构提取数据方法来优化爬虫代码
- 数列分块入门 (1 ~ 7)
- SQL Server CLR全功略之一---CLR介绍和配置
- 关于利用np.contour画出logistic模型决策边界(plot_decision_regions)的一点感想
- golang解决TCP粘包问题
- python动态创建变量
- 2018美赛B题总结
- Windows2019在IIS下添加.NET Framework 3.5 NetFx3 失败 (状态为:0x800f0950)的解决办法)
- HTML 事件参考手册:全局事件属性
- 低成本电容式触摸感应设计
- 【MOOC】计算机网络与通信技术笔记(北交)(1)概述
- 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践
- 常见的设计模式有哪些?实际开发中你用了什么设计模式?
- 常用经方的应用体会
- mongodb数据文件格式
- 计算机学院 运动会稿,强健体魄,英姿飒爽——计算机学院举办师生迷你运动会...
- 一条命令导出电脑中所有wifi账号密码