gpt4 book ai didi

javascript - 无法在循环中休眠

转载 作者:行者123 更新时间:2023-12-04 02:21:05 25 4
gpt4 key购买 nike

我想在每次循环时暂停 1 秒,在其他情况下通常很容易做类似的暂停,但是在使用循环时,它似乎变得更难了:

for (var i=0 ; i < 10 ; i++) {
document.write (i + "<br>");
// I want to wait 1 second here
}

这是我数千次失败尝试的一个例子:

function writeMsg (index) {
document.write (index + "<br>");
}

for (var i=0 ; i < 10 ; i++) {
setTimeout (writeMsg(i), 1000);
}

关于如何让它发挥作用的任何想法?

最佳答案

这个函数更像是一个普通的 for 循环,但它不是

您需要考虑 for 在分号之间获取 3 个参数。

  1. 开始之前(即var i=0你定义了一个变量)
  2. 再次运行代码之前的条件(即 i < 10 而 i 小于 10)
  3. 每次再次完成代码时的 Action (i++ 向 i 加一)

代码

(function() {
// Define a variable
var i = 0,
action = function() {
// Condition to run again
if (i < 10) {
document.write(i + "<br>");

// Add one to i
i++;
setTimeout(action, 1000);
}
};

setTimeout(action, 1000);
})();

这里是这段代码的 jsfiddle,演示了它的工作原理: http://jsfiddle.net/sg3s/n9BNQ/

关于javascript - 无法在循环中休眠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9880285/

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