gpt4 book ai didi

javascript - 如何在 for 循环后运行此代码

转载 作者:行者123 更新时间:2023-11-30 12:47:56 26 4
gpt4 key购买 nike

当我运行这段代码时:`

for (var start = 1; start < 10; start++) {
setTimeout(function () {
alert('hello');
}, 3000 * start);
}
alert('Finish');

为什么 for 循环没有完成,但代码 'alert('Finish')' 仍在运行。如何使 alert('Finish') 在完成 for 循环后运行。谢谢。

最佳答案

从技术上讲,这就是它已经在做的事情。

循环运行(设置超时),然后触发“完成”警报。我猜你想要的是在所有超时都触发后触发的“完成”。执行此操作的简单方法可能是将完成添加到它自己的超时(因此它会在该时间后运行)。

类似的东西:

for (var start = 1; start < 10; start++){
setTimeout(function () { console.log('hello'); }
, 10 * start);};

// use final "start" time to set last timeout to fire off its event, after all other timeouts have run
setTimeout(function () {
console.log('Finish');
}, 10 * (start+1));

注意:我更改了时间并使用了控制台日志,因此它运行得更快以进行测试。

关于javascript - 如何在 for 循环后运行此代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21932233/

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