簡體   English   中英

setInterval - 如何只開一次?

[英]setInterval - How to fire only once?

您好我有這段代碼即使在我選擇的時間之后也會觸發一些代碼。

問題是,如果我放3秒鍾它將每3秒發射一次,我需要的是它在3秒后僅發射一次。

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

你不需要setInterval ,你需要setTimeout

顧名思義, setInterval會定期觸發,而setTimeout只觸發一次。 但用法是一樣的。

使用setTimeout ,它幾乎相同,但只會觸發一次。 你有clearTimeoutsetTimeout所以它非常類似於setInterval

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

您不必再使用clearTimeout了。 但是它的存在與clearInterval的工作原理相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM