1.环境问题,this.timer是我定义的定时器
如直接写clearInterval(this.timer);不好用,需要换成window.clearInterval(this.timer);
2.关闭指令执行的定时器源头问题,(最主要是这个原因)
如开启了多个定时器,再去清除定时器是无效的,因为无法定位到想清除的定时器上。
解决办法,将定时器归一
每次开启定时器时,判断一下定时器是否存在,这样万无一失。
开启:
if (!this.timer) {
this.timer= window.setInterval(() => {
//执行内容
}, 10 * 1000);
}
停止关闭
if (this.timer) {
window.clearInterval(this.timer);
this.timer= null;
}
找不到原因(尽量不使用):
for (let i = 0; i < 10000; i++) {
// clearInterval(i)
// }