gpt4 book ai didi

javascript - 同一循环中的两个不同超时

转载 作者:搜寻专家 更新时间:2023-10-31 23:33:57 26 4
gpt4 key购买 nike

我有一个工作正常的网络爬虫,但我有一个问题。我基本上需要的是,当我达到 90 个请求时,我需要给出 5 分钟或更长时间的超时。

我的示例代码:

for (let i=0; i < maxPag; i++) {
setTimeout(function(){
console.log(i);
getInfoPage(i);

}, 15000 * (i+1));
}

例如,在上面的示例中,我给出了一个超时,但它是针对请求的页面,但是在 90 个请求之后,我需要有一个更大的超时,这在我达到 90 个请求的所有时间都会发生。

我如何在第 90 个请求而不是第 180 个请求中进行间隔,并一直持续到我的 for 循环结束。

最佳答案

除了 async/await 方法之外,您还可以将以下解决方案与简单的 setTimeout 调度一起使用:

for (let i=0; i < maxPag; i++) {
setTimeout(function(){
console.log(i);
getInfoPage(i);

}, 15000 * (i+1) + 300000 * Math.floor(i / 90));
// ^^^^^ ^^^^^^
// 15s between each 5m between chunks of 90
}

关于javascript - 同一循环中的两个不同超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53143603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com