将setInterval()传递给变量,但立即触发

时间:2019-06-30 01:29:48

标签: javascript setinterval

我试图理解为什么此代码立即触发。

const test = setInterval(() => {
  console.log("test"), 2;
});

为什么会发生?我什至没有test();

2 个答案:

答案 0 :(得分:3)

因为您需要将2作为参数传递给setInterval-目前尚不可用。还要注意,任何人分配setInterval结果的唯一原因是调用clearInterval。如果要在需要时运行它,请使test为一个函数。

const test = () => setInterval(() => console.log("test"), 2);

答案 1 :(得分:0)

为了避免此类语法错误,我们可以这样做,

const test = setInterval(myTest, 2);

function myTest() {
   console.log("test")
}

请确保在不使用setInterval功能时将其停止,

function myStopFunction() {
  clearInterval(test);
}