javascript while循环或设置具有动态延迟的间隔

标签 javascript

我需要在 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/

相关文章:

javascript - 如何利用 JQuery 的 ".on()"方法来处理非 native jquery 元素?

javascript - 较长网页上的下拉菜单

javascript - 如何使用两个字符串数组来构建一个将它们组合在一起的数组?

javascript - Vorpal.js 参数和参数

Javascript 意外关闭

javascript - 如何在javascript标签中编写php代码

javascript - 有没有办法在 pwa 中安排离线通知?

javascript - 安全错误 : DOM Exception 18 with Web Workers

javascript - 添加反馈按钮

javascript - 参数传递如何与嵌套函数调用中的调用堆栈一起使用