JavaScript块循环逻辑
我的代码有一个包含许多对象的数组,这些对象是URL的,我用它们做了一个循环,在这个数组中运行,并对数组中的每个URL发出请求。但是我需要我的循环以块的形式通过数组,例如:每10个;在您到达终点之前,所有这些都是为了避免您立即执行操作,并最终导致服务器过载,同时也为了避免花费太长时间从1:1变为1,因为数组非常大,代码库基本上就是这样JavaScript块循环逻辑,javascript,node.js,arrays,logic,Javascript,Node.js,Arrays,Logic,我的代码有一个包含许多对象的数组,这些对象是URL的,我用它们做了一个循环,在这个数组中运行,并对数组中的每个URL发出请求。但是我需要我的循环以块的形式通过数组,例如:每10个;在您到达终点之前,所有这些都是为了避免您立即执行操作,并最终导致服务器过载,同时也为了避免花费太长时间从1:1变为1,因为数组非常大,代码库基本上就是这样 const array = ["URL-1","URL-2","URL-3"] etc... for
const array = ["URL-1","URL-2","URL-3"] etc...
for (var i = 0; i < array.length; i++) {
axios.get(array[i], (res) => {
const res = res;
});
}
常量数组=[“URL-1”、“URL-2”、“URL-3”等。。。
对于(var i=0;i有很多更好的方法,但通过使用setTimeOut选项,您可以尝试
let索引=0;
常量最大迭代次数=10;
函数checkURL(){
对于(var i=索引;i<索引+最大迭代次数;i++){
axios.get(数组[i],(res)=>{
常数res=res;
}
索引+=最大迭代次数;
if(索引>=array.length-maxIterations){
远红外线=真;
清除间隔(计时器);
}
}
常量计时器=设置间隔(检查URL,10000);
或者类似的事情,希望能有所帮助您可以使用setTimeout?即使使用setTimeout,请求数量也太大,无法立即执行。如果您一次执行10次,并且超时时间介于两者之间,我可能会收到错误404。这是一个问题,我如何在10个数组中每隔10次发出请求?首先拆分数组?
array.splice
我想你可能不太理解我的问题,在你的例子中,他会对整个10倍数组发出请求,我真正想要的是,他只遍历我的数组一次,以10/10的块为单位。直到完成数组。这就是我的代码试图做的,每10秒它会在数组上迭代10项,直到当它到达终点时,他提出了10个请求,并关闭了它,而不是再提出10个请求。我需要查看您当前的实现,以便能够进一步提供帮助-我创建了一个新项目来测试您的示例