javascript while循环或设置间隔与动态延迟 [英] javascript while loop or set interval with dynamic delay

查看:123
本文介绍了javascript while循环或设置间隔与动态延迟的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I need to have a never ending loop in javascript. This will be almost like set interval. But for each loop the time delay need to be applied dynamically. The delay value will be changing on each loop. So is it possible to use while with some kind of sleep function? Or is it possible to change the set interval time for each iteration?

以下代码未给出延迟。始终采用给定的第一个值。

following code didn't give the delay. Always take the first value given to it.

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


推荐答案

改用setTimeout并保持递归调用。

Use setTimeout instead and keep recursive call.

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

这篇关于javascript while循环或设置间隔与动态延迟的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆