今天遇到一个bug是关于清除定时器。
按理清除定时器后,定时器里的代码不会再执行。但是通过控制台输出后发现定时器还在定时执行。。
最后debug出原因是因为,代码中包含了多个定时器。当一个定时器取消后,另一个还在继续。因此如果我们想多个定时器独立进行的话。每个定时的正确写法应该是:
let timer = setInterval(() => {
....
clearInterval(timer);//一定要写清楚是清除哪一个定时器
},200);
今天遇到一个bug是关于清除定时器。
按理清除定时器后,定时器里的代码不会再执行。但是通过控制台输出后发现定时器还在定时执行。。
最后debug出原因是因为,代码中包含了多个定时器。当一个定时器取消后,另一个还在继续。因此如果我们想多个定时器独立进行的话。每个定时的正确写法应该是:
let timer = setInterval(() => {
....
clearInterval(timer);//一定要写清楚是清除哪一个定时器
},200);