clearInterval无效,解决定时器关闭不掉的问题

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)
                // }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容