我需要在 javascript 中有一个永无止境的循环。这几乎就像设定的间隔。但是对于每个循环,都需要动态应用时间延迟。延迟值将在每个循环中发生变化。那么 while 是否可以使用某种 sleep 功能?或者是否可以更改每次迭代的设置间隔时间?
以下代码没有给出延迟。始终取给它的第一个值。
<script>
var someTimeoutVar = 1000;
var inc = 1;
setInterval(function() {
inc++;
someTimeoutVar = inc * 1000;
console.log(someTimeoutVar);
}, someTimeoutVar)
</script>
最佳答案
改为使用 setTimeout 并保持递归调用。
function someLoop() {
var nextExecutionTime = calc();
setTimeout(someLoop, nextExecutionTime);
}
关于javascript while循环或设置具有动态延迟的间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27559592/