setInterval 与 setTimeout 均为定时器,都是在间隔某特定时间内执行某个函数。二者的区别在于 setInterval会在特定时间内(以毫秒为单位)循环执行某个函数,而setTimeout只会在特定时间内执行一次函数。如果在使用setTimeout的情况下想要循环执行函数,可以在函数体内再调用se’tTimeout()。
// setTimeout
test = (s = 60) => {
if(s <= 0) {
console.log("结束");
return false;
}
console.log(`${s}秒后`);
this.timeID = setTimeout(() => {
this.test(s-1);
},1000);
}
test();
// setInterval
test = (s = 60) => {
if(s <= 0) {
console.log("结束");
return false;
}
console.log(`${s}秒后`);
this.timeID = setInterval(() => {
console.log(1111111111);
this.test(s-1);
},3000);
}
test();
//别忘了清除定时器哟
clearInterval(this.timeID);