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

javascript while循环或设置具有动态延迟的间隔,javascript,Javascript,我需要在javascript中有一个永无止境的循环。这几乎就像设定的间隔。但是对于每个循环,需要动态地应用时间延迟。每个环路上的延迟值都会发生变化。那么,有没有可能在具有某种睡眠功能的情况下使用呢?或者是否可以更改每次迭代的设置间隔时间 以下代码没有给出延迟。始终取给它的第一个值 <script> var someTimeoutVar = 1000; var inc = 1; setInterval(function() { inc++; someTimeoutVa

我需要在javascript中有一个永无止境的循环。这几乎就像设定的间隔。但是对于每个循环,需要动态地应用时间延迟。每个环路上的延迟值都会发生变化。那么,有没有可能在具有某种睡眠功能的情况下使用呢?或者是否可以更改每次迭代的设置间隔时间

以下代码没有给出延迟。始终取给它的第一个值

<script>
var someTimeoutVar = 1000;
var inc = 1;
setInterval(function() { 
    inc++;
    someTimeoutVar = inc * 1000;
    console.log(someTimeoutVar);
}, someTimeoutVar)
</script>

var someTimeoutVar=1000;
var inc=1;
setInterval(函数(){
inc++;
someTimeoutVar=inc*1000;
console.log(someTimeoutVar);
},someTimeoutVar)
您可以使用:

setInterval(expression, someTimeoutVar);
然后根据需要更改您的someTimeoutVar,您可以使用:

setInterval(expression, someTimeoutVar);

然后更改您的someTimeoutVar,因为您需要使用setTimeout并保持递归调用

function someLoop() {
    var nextExecutionTime = calc();
    setTimeout(someLoop, nextExecutionTime);
}

改用setTimeout并保持递归调用

function someLoop() {
    var nextExecutionTime = calc();
    setTimeout(someLoop, nextExecutionTime);
}

当然您可以创建一个随机化函数,并为循环的每次迭代调用该函数。。。你试过什么?当然。。。您可以创建一个随机化函数,并为循环的每次迭代调用该函数。。。你试过什么?我试过你的方法但没用<代码>var someTimeoutVar=1000;var inc=1;setInterval(function(){inc++;someTimeoutVar=inc*1000;console.log(someTimeoutVar);},someTimeoutVar)我尝试了你的方法,但没有成功<代码>var someTimeoutVar=1000;var inc=1;setInterval(function(){inc++;someTimeoutVar=inc*1000;console.log(someTimeoutVar);},someTimeoutVar)工作正常。根据测试结果,谢谢您的回答。@sugunan,您可以接受✓ 如果有用的话,答案是肯定的。根据测试结果,谢谢您的回答。@sugunan,您可以接受✓ 答案是否有用。OP没有说任何关于使用随机值的内容。完全正确。
updateTimeout
函数中的代码行是任意的,不管需要什么计算。这只是一个计算的例子,它允许计算也依赖于重复操作函数返回的值。OP没有说任何关于使用随机值的内容。确切地说。
updateTimeout
函数中的代码行是任意的,不管需要什么计算。这只是一个计算示例,它允许计算也依赖于重复操作函数返回的值。