如何在JS中循环一段时间的函数

时间:2014-03-18 06:52:41

标签: javascript

我读过w3schools:

  • setInterval()方法将等待指定的毫秒数,然后执行指定的函数,并在每个给定的时间间隔继续执行该函数。

  • setTimeout()方法将等待指定的毫秒数,然后执行指定的函数。

我试过了两个。但是,这不是我需要的。

我想要一个连续循环的函数,直到达到持续时间。

有解决方法吗?谢谢!

2 个答案:

答案 0 :(得分:2)

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.

答案 1 :(得分:2)

您可以在没有任何setTimeouts或setIntervals的情况下执行此操作:

var t1 = new Date().getTime();
var interval = 100;
while(new Date().getTime() - t1 < interval){
    // do stuff;
}

这将持续循环100 ms。