Javascript 如何在JS中循环函数一段时间
我读过有关学校的报道:Javascript 如何在JS中循环函数一段时间,javascript,Javascript,我读过有关学校的报道: setInterval()方法将等待指定的毫秒数,然后执行指定的函数,并将继续执行该函数,每个给定的时间间隔执行一次 setTimeout()方法将等待指定的毫秒数,然后执行指定的函数 我两个都试过了。然而,这不是我需要的 我想要一个函数,它将连续循环,直到达到持续时间 这方面有解决办法吗?谢谢 您可以在没有任何设置超时或设置间隔的情况下执行此操作: var start = new Date(); var timer_id = setInterval(function
- setInterval()方法将等待指定的毫秒数,然后执行指定的函数,并将继续执行该函数,每个给定的时间间隔执行一次
- setTimeout()方法将等待指定的毫秒数,然后执行指定的函数
这方面有解决办法吗?谢谢 您可以在没有任何设置超时或设置间隔的情况下执行此操作:
var start = new Date();
var timer_id = setInterval(function() {
// the duration is 10 seconds
if (new Date() - start > 10000) {
clearInterval(timer_id);
} else {
your_function();
}
}, 1000); // every 1 second your function will run, you could change it by your needs.
var t1 = new Date().getTime();
var interval = 100;
while(new Date().getTime() - t1 < interval){
// do stuff;
}
var t1=new Date().getTime();
var区间=100;
while(new Date().getTime()-t1
这将持续循环100毫秒。您可以在没有任何设置超时或设置间隔的情况下执行此操作:
var t1 = new Date().getTime();
var interval = 100;
while(new Date().getTime() - t1 < interval){
// do stuff;
}
var t1=new Date().getTime();
var区间=100;
while(new Date().getTime()-t1
这将持续循环100毫秒。由于没有睡眠功能,此循环将占用您所有的CPU。另外,在某些JavaScript引擎中不会触发其他超时,因为它们是单线程的,需要在触发超时和间隔之前返回外部函数。通过
xdazz
查看解决方案,因此xdazz的答案更好?OP表示他希望函数“连续循环”,因此我特意提出了一个解决方案,在该函数循环时,实际上不会执行任何其他操作。由于没有睡眠功能,该循环将占用您所有的CPU。另外,在某些JavaScript引擎中不会触发其他超时,因为它们是单线程的,需要在触发超时和间隔之前返回外部函数。通过xdazz
查看解决方案,因此xdazz的答案更好?OP表示他希望函数“连续循环”,因此我特意建议了一种解决方案,因为在该函数循环时,实际上不会执行任何其他操作。