在我的函数中停止setInterval的正确方法是什么?

时间:2019-05-28 22:01:38

标签: javascript setinterval clearinterval

我想在游戏中实现倒计时。因此,我编写了一些代码,但是当setInterval达到数字0时并没有停止。

有人可以帮我重写代码吗?

下面您可以找到代码。

secondsNum = 10;

{
setInterval(() => {
  console.log(secondsNum);
  secondsNum--;;
  if (secondsNum === 0) {
    clearInterval();
    console.log('Time is up');
  }

}, 1000);

1 个答案:

答案 0 :(得分:0)

您需要保存从setInterval返回的值,并在需要停止时将其传递回clearInterval。可能看起来像这样:

secondsNum = 10;
var timerID = 0;

timerID = setInterval(() => {
    console.log(secondsNum);
    secondsNum--;
    if (secondsNum === 0) {
        clearInterval(timerID);
        console.log('Time is up');
    }
}, 1000);