的Javascript如何清除后特定的时间间隔(Javascript how to clear in

2019-06-26 02:53发布

setInterval("FunctionA()", 1000);

现在我该如何清除整整5秒钟后此区间,这样我可以做到 -

var i = setInterval("FunctionA()", 1000);
(After 5 seconds)
clearInterval(i);

Answer 1:

为此,您可以使用setTimeout功能:

var i = setInterval(FunctionA ,1000);
setTimeout(function( ) { clearInterval( i ); }, 5000);


Answer 2:

使用的setTimeout给clearInterval不是一个理想的解决方案。 它会工作,但它会火上每间隔您的setTimeout。 这是确定的,如果你只是清除区间,但如果你正在执行其他代码,除了清除的时间间隔可能是坏的。 一个更好的解决方案是使用一个计数器。 如果您的间隔触发间隔为1000毫秒/ 1秒,那么你知道它是否火灾5倍它已经5秒。 这是干净多了。

count=0;
var x=setInterval(function(){
  // whatever code
  if(count > 5) clearInterval(x);
  count++;
}, 1000);


Answer 3:

function intervalGap(){
    let no = 1;
    setInterval(function(){
    if(no < 11){
        console.log(no);
        no++;
    }else{
        clearInterval(this);
    }}, 500); // for every half second
}
intervalGap();


文章来源: Javascript how to clear interval after specific time