我有这段代码:
var int1 = setInterval(function () {
// do stuff
if(//stuff done){
clearInterval(int1);
setTimeout(
function () {
setInterval(int1)
}
,60000);
}}
}, 1000)
并希望间隔在60秒后再次运行,但setInterval(int1)
似乎不再触发它。我做错了什么?
编辑:完整代码:http://pastie.org/8704786
答案 0 :(得分:1)
那是因为int1
不是一个函数,而是一个区间id。试试这个:
var int1;
var func = function () {
// do stuff
if(//stuff done){
clearInterval(int1);
setTimeout(func, 60000);
}
};
int1 = setInterval(func, 1000);
答案 1 :(得分:1)
你犯了两个错误:
你想要的是:
var int1;
function scheduleStuff() {
int1 = setInterval(doStuff, 1000);
}
function doStuff() {
// do stuff
if(/*stuff done*/){
clearInterval(int1);
setTimeout(scheduleStuff,60000);
}}
}
scheduleStuff();
答案 2 :(得分:0)
设置间隔期望在等待时间后调用的函数...
这条线错了:
setInterval(int1)
没有任何功能,也没有等待时间...