clearInterval 什么都不做

zoe*_*rry 1 javascript setinterval clearinterval

很简单,setIntervall 通常以 't' 开头,go 为 false,clearinterval 什么也不做,go 为 true。所以如果 app.post 第三次执行,我有 2 个间隔,处理 t。我不明白为什么。

go= true;
app.post('/s', function s(req, res){
    if (go){
        setInterval(t, 3000);
        go = false;
    }else{
        clearInterval(t);
        go = true;
    }
});
Run Code Online (Sandbox Code Playgroud)

Jam*_*rpe 5

setInterval返回一个需要传递给的标识符clearInterval- 您不会通过传递函数引用来清除它:

go= true;
var interval=0;
app.post('/s', function s(req, res){
    if (go){
        interval = setInterval(t, 3000);
        go = false;
    }else{
        clearInterval(interval);
        go = true;
    }
});
Run Code Online (Sandbox Code Playgroud)

  • setInterval 返回整数,因此将变量设置为整数会更好地避免变量类型转换。 (3认同)