setInterval-如何只激发一次

setInterval - How to fire only once?

本文关键字:一次 setInterval-      更新时间:2023-09-26

你好,我有一段代码,即使在我选择的时间之后,它也会激发一些。

问题是,例如,如果我放3秒钟,它会每3秒钟发射一次,我需要的是它在3秒钟后只发射一次。

function playSound(timeLeft){
   var sendDataTimeout = function(){
      alert('OK');
   }
   var intervalReference = 0;
   clearInterval(intervalReference);
   intervalReference = setInterval(sendDataTimeout, timeLeft);
}

使用setTimeout,它的工作原理几乎相同,但只会激发一次。您有clearTimeoutsetTimeout,所以它与setInterval 非常相似

function playSound(timeLeft){
   var sendDataTimeout = function(){
      alert('OK');
   }
   setTimeout(sendDataTimeout, timeLeft);
}

您不再需要使用clearTimeout。但仅供参考,它的存在和工作原理与clearInterval相同。

您不需要setInterval,您需要setTimeout

顾名思义,setInterval定期激发,而setTimeout只激发一次。不过用法是一样的。