我有一个问题!
我想检测网站上的某些内容,但每次我使用 while 循环尝试此操作时,选项卡都会卡住。我试图让 while 循环变慢,但选项卡每次都会卡住。它是 Google Chrome 的客户端脚本,仅用于检测 4 种状态之一。各州的时代不同。你能帮我吗?
*抱歉我的英语不好,而且对脚本/编程了解不多:)
没有计时的默认代码:
while (running) {
fullStatus = checkStatus()
switch (fullStatus.substring(0, 2)) {
case "**":
rolled = true;
status = 1;
console.log("Rolling")
break;
case "Ro":
status = 2;
console.log("Prepare Bets")
break;
case "CS":
status = 3;
console.log("NumberGot")
break;
case "Co":
status = 4;
console.log("Confirming")
break;
default:
status = 0;
break;
}
最佳答案
在某些时候,您必须将 running
设置为 false
才能让 while
循环结束。
否则循环将继续运行并且浏览器会卡住。
请注意,break;
退出 switch
语句,而不是 while
循环。
请注意,当代码执行正在进行时,浏览器没有响应。
如果 while
循环的终止取决于用户交互,那么您的代码将永远无法工作(因为用户无法交互,因为代码执行被困在 while
循环内)。
我只是猜测你想要实现什么......
如果您必须在用户在页面上操作时检查状态,那么您需要一个在用户迭代时调用的回调函数,而不是 while
循环(例如单击按钮)或由计时器触发(请参阅 setTimeout()
)
我不会进一步讨论,因为这超出了问题的范围;我希望我为您指明了正确的方向。
关于javascript - While 循环在 Google Chrome 控制台中不断崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43390164/