原因
setinterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,最终卡死你的网页。
其原因与JS引擎线程有关(需深入研究JS引擎线程) ,但是setTimeout是自带清除定时器的。
解决方案:
self.setInterval(() => {
self.setTimeout(() => {
function fn(){
console.log(1)
}
}, 0);
}, 1000);
setinterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,最终卡死你的网页。
其原因与JS引擎线程有关(需深入研究JS引擎线程) ,但是setTimeout是自带清除定时器的。
解决方案:
self.setInterval(() => {
self.setTimeout(() => {
function fn(){
console.log(1)
}
}, 0);
}, 1000);