增量间隔 - JS

Increment Interval - JS

这可能很简单,但我就是做不出来
当我 运行 这个...

function logCountUp(){
        let a = 0;
        while(a < 10)
        {
            a+=1;
            console.log(a);
        }
    }
    setInterval(logCountUp,2000);

它returns所有数字,
我每 2 秒要一个数字。
我尝试将 setInterval 包装在 a++ 周围,但它随后忽略了 while。
真是难倒我了。

提前致谢。

setInterval repeatedly calls a function each period of time, so, in this case, when a reaches the max value (9), we stop the interval using clearInterval:

let a = 0;
const interval = setInterval(logCountUp, 2000);
function logCountUp() {
  a+=1; console.log(`${a}`);
  if(a === 9) clearInterval(interval);
}

这就是现在正在发生的事情:-

function logCountUp(){
        let a = 0;
        while(a < 10)
        {
            a+=1;
            console.log(a);
        }
    }
    setInterval(logCountUp,2000);

你的函数 logCountUp 每两秒被调用一次,但你有一个局部变量 a 每次都被初始化为 0 并运行 while 循环并打印所有结果。

您需要的是一个全局变量,您可以在函数调用中每两秒递增一次。一旦达到阈值(即 10),您将清除间隔。

这就是你想要的:-

let count = 0;
function logCountUp(){
        if(count < 10)
        {
            count++;
        }
        else{
         clearInterval(interval);
      }
    }
    let interval = setInterval(logCountUp,2000);