gpt4 book ai didi

javascript - 如何即时重新配置 setTimeout

转载 作者:行者123 更新时间:2023-11-29 22:31:24 25 4
gpt4 key购买 nike

我想知道是否有办法即时将 setTimeout 函数设置为不同的超时。

因此,例如,我每 1 秒检查一次,但如果我在 10 秒内没有得到预期结果,我想“重新配置”此 setTimeout 等待 3 秒而不是 1 秒。

这是我的代码:

var br = 0;
var waitInterval = 1000;
var sleepInterval = 2000;

var waitForNewRace = setInterval(
function checkForNewRace(){
if ( $("#data").html() == "1"){
$("#res").html("got it!");
}
else{
$("#counter").html(br);
if (br++ > 9)
waitInterval = 3000;
}

$("#tst").html(waitInterval);
},
waitInterval
);

如果您想在此处查看,请参阅 jsfiddle 上提到的代码:http://jsfiddle.net/Hitman666/Vyczj/2/

最佳答案

您必须停止间隔并重新开始。参见 this fork你的jsfiddle。

编辑:我已经在此处复制了您的代码,以防您的 jsfiddle 代码出现问题:

var br = 0;
var waitInterval = 1000;
var sleepInterval = 2000;


function checkForNewRace(){
if ( $("#data").html() == "1"){
$("#res").html("got it!");
}
else{
$("#counter").html(br);
if (br++ > 5){
clearInterval(waitForNewRace);
waitInterval += 1000;
if (waitInterval > 10000)
waitInterval = 10000;

waitForNewRace = setInterval(
checkForNewRace,
waitInterval
);
}
}
$("#tst").html(waitInterval);
}

var waitForNewRace = setInterval(
checkForNewRace,
waitInterval
);

关于javascript - 如何即时重新配置 setTimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6729889/

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