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)
没有功能,也没有等待时间…您犯了两个错误:
var int1;
function scheduleStuff() {
int1 = setInterval(doStuff, 1000);
}
function doStuff() {
// do stuff
if(/*stuff done*/){
clearInterval(int1);
setTimeout(scheduleStuff,60000);
}}
}
scheduleStuff();
首先,您(正确地)使用函数和间隔调用setInterval,然后(错误地)尝试仅使用setInterval的(整数)返回值调用它:为什么您希望它工作?阅读setInterval并重新组织代码。