gpt4 book ai didi

javascript - JavaScript 中延迟 'for loop'

转载 作者:行者123 更新时间:2023-11-28 13:43:10 24 4
gpt4 key购买 nike

我有一个延迟循环,它会延迟 1 秒显示数字 0-3,但我希望它能够重新开始此过程。

我尝试将整个代码放入 x<99 的 while 循环中(永远不会发生的事情因此使循环永远重复)这似乎不起作用

这是代码:

sequence=["0","1","2","3"];

while (x<99) {
x=-1;
(function myLoop (i) {
setTimeout(function () {
x++;
document.write(sequence[x] + "<br/>");
if (--i) myLoop(i);
}, 1000)
})(4);
}

Here is a code-pen link

有人可以帮忙吗?

谢谢

最佳答案

在这种情况下循环不起作用。有多种方法可以做到这一点。一种方法是“递归”调用 setTimeout,在每次调用时增加索引。

var sequence=["0","1","2","3"];

(function() { // some boilerplate code to keep `i` private
var i = 0; // running index
(function run() {
console.log(sequence[i]);
i = (i+1) % sequence.length; // increase `i` and wrap around
setTimeout(run, 1000); // next iteration
}());
}());

关于javascript - JavaScript 中延迟 'for loop',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16389734/

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