gpt4 book ai didi

javascript 改变全局变量 setTimeout

转载 作者:行者123 更新时间:2023-12-01 00:12:49 25 4
gpt4 key购买 nike

我想做一个循环,持续 2 秒,然后刹车。这段代码不会工作,循环结束,它不会在 2 秒时制动。为什么?

var stop = 0;
setTimeout(function() {
stop = 1;
}, 2000);

for (var i = 0; i < 10000; i++) {
console.log("wait" + stop);
if (stop == 1) break;
}

有解决方法吗?

最佳答案

setTimeout 回调永远不会中断正在运行的同步循环。为了达到预期的结果,您可以将循环头更改为

for (var i=0, timeout=Date.now()+2000; i<10000 && Date.now()<timeout; i++) …

关于javascript 改变全局变量 setTimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59958161/

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