我正在尝试使用 Javascript 显示一些文本,但仅显示几秒钟,具体取决于字符串的长度。我根据帖子如何限制 setInterval 完成的迭代次数的答案创建了一个非常简单的示例。但在我的情况下不起作用:
<script>
var iterations = 0,
data = ['a','bbbbbbbb','c'],
interval = setInterval(foo, 4000);
function foo() {
console.log(data[iterations]);
iterations++;
if (iterations >= 4){
clearInterval(interval);
}else if(iterations == 1){
//we want to make time longer in this iteration.
clearInterval(interval);
var interval = setInterval(foo, 8000);
}
}
</script>
我想在 4 秒后输出“a”,在 8 秒后输出“bbbbbbbb”,在 4 秒后输出“c”。
如您所见,我有一个包含 3 个元素的数组。对于迭代 1,它应该等待更多时间,但不会。对于所有情况,等待 4 秒,我们有一个无限循环。
我检查了其他功能,例如 break 不适用于 setInterval 功能。
它会是一个不基于 for 循环的更智能的解决方案吗?非常感谢。