使用 javascript 如何在设定时间后打破 while 循环?
Using javascript how to break the while loop after a set time?
我有一个 while 循环,如下所示:
while(s1 != "#EANF#")
{
iimPlay("CODE:REFRESH");
iimPlay("CODE:TAG POS=1 TYPE=* ATTR=TXT:Contacted:* EXTRACT=TXT")
var s1 = iimGetLastExtract();
}
它将刷新网页,直到找到它想要的内容。然而,有时它会变成一个无限循环,我想简单地设置一个计时器,这样它就会打破 while 循环并继续。我试着查看 settimeout 但不知道该怎么做。我希望这个 while 循环在 3 分钟后找不到它想要的内容时放弃刷新网页。
编辑:这可能不是正确答案...请参阅评论
您可以在 while 循环条件中使用 3 分钟后翻转的标志:
var keepGoing = true;
setTimeout(function() {
// this will be executed in 3 minutes
// causing the following while loop to exit
keepGoing = false;
}, 180000); // 3 minutes in milliseconds
while(s1 != "#EANF#" && keepGoing === true)
{
iimPlay("CODE:REFRESH");
iimPlay("CODE:TAG POS=1 TYPE=* ATTR=TXT:Contacted:* EXTRACT=TXT")
var s1 = iimGetLastExtract();
}
关于你的问题,你可以定义一个标志变量并在 while 循环中检查它并在计时器中更改它的值。
赞:
你的 while 循环:
while(mflag==0){
//codes
}
你的定时器功能
Function mtimer(){
mflag=1;
}
在 while 循环之前的某处:
var mflag=0;
var mt= setTimeout(mtimer,3*60*1000);
但我想说的是,我认为你在while循环中刷新网页的方法是错误的。也许你应该使用 Ajax 或其他东西。如果您提供有关您将要做的整个事情的更多信息,我可能会提供帮助。
我有一个 while 循环,如下所示:
while(s1 != "#EANF#")
{
iimPlay("CODE:REFRESH");
iimPlay("CODE:TAG POS=1 TYPE=* ATTR=TXT:Contacted:* EXTRACT=TXT")
var s1 = iimGetLastExtract();
}
它将刷新网页,直到找到它想要的内容。然而,有时它会变成一个无限循环,我想简单地设置一个计时器,这样它就会打破 while 循环并继续。我试着查看 settimeout 但不知道该怎么做。我希望这个 while 循环在 3 分钟后找不到它想要的内容时放弃刷新网页。
编辑:这可能不是正确答案...请参阅评论
您可以在 while 循环条件中使用 3 分钟后翻转的标志:
var keepGoing = true;
setTimeout(function() {
// this will be executed in 3 minutes
// causing the following while loop to exit
keepGoing = false;
}, 180000); // 3 minutes in milliseconds
while(s1 != "#EANF#" && keepGoing === true)
{
iimPlay("CODE:REFRESH");
iimPlay("CODE:TAG POS=1 TYPE=* ATTR=TXT:Contacted:* EXTRACT=TXT")
var s1 = iimGetLastExtract();
}
关于你的问题,你可以定义一个标志变量并在 while 循环中检查它并在计时器中更改它的值。
赞:
你的 while 循环:
while(mflag==0){
//codes
}
你的定时器功能
Function mtimer(){
mflag=1;
}
在 while 循环之前的某处:
var mflag=0;
var mt= setTimeout(mtimer,3*60*1000);
但我想说的是,我认为你在while循环中刷新网页的方法是错误的。也许你应该使用 Ajax 或其他东西。如果您提供有关您将要做的整个事情的更多信息,我可能会提供帮助。