Javascript 清除后重置间隔

Javascript 清除后重置间隔,javascript,intervals,Javascript,Intervals,我有以下代码: var int1 = setInterval(function () { // do stuff if(//stuff done){ clearInterval(int1); setTimeout( function () { setInterval(int1) } ,60000); }} }, 1000) 并希望间

我有以下代码:

var int1 = setInterval(function () {
    // do stuff

    if(//stuff done){
        clearInterval(int1); 
        setTimeout(
             function () {
                  setInterval(int1)
             }
        ,60000);
    }}
}, 1000)
并希望间隔在60秒后再次运行,但
setInterval(int1)
似乎不会再次触发它。我做错了什么


编辑:完整代码:

这是因为
int1
不是一个函数,而是一个间隔id。请尝试以下操作:

var int1;
var func = function () {
    // do stuff

    if(//stuff done){
        clearInterval(int1); 
        setTimeout(func, 60000);
    }
};
int1 = setInterval(func, 1000);

set intervall期望在等待时间后调用函数

这一行是错误的:

setInterval(int1)
没有功能,也没有等待时间…

您犯了两个错误:

  • setInterval不是函数,而int1包含区间句柄
  • 您在setInterval调用中没有传递时间量
  • 您想要的可能是:

    var int1;
    
    function scheduleStuff() {
        int1 = setInterval(doStuff, 1000);
    }
    
    
    function doStuff() {
        // do stuff
    
        if(/*stuff done*/){
            clearInterval(int1); 
            setTimeout(scheduleStuff,60000);
        }}
    }
    
    scheduleStuff();
    
    首先,您(正确地)使用函数和间隔调用setInterval,然后(错误地)尝试仅使用setInterval的(整数)返回值调用它:为什么您希望它工作?阅读setInterval并重新组织代码。