项目中我们经常需要实现轮询-每隔几秒请求一次接口刷新数据
一般都会使用setInterval,但要注意单纯使用它会导致页面卡死,关于怎么解决这个问题感谢年树先生的分享,在此做个记录方便以后查阅
原博地址如下:https://www.qdfuns.com/article/51117/15a67319ddea5b043a466583d7e734c6.html
解决方法如下:
window.setInterval(() => {
setTimeout(fun, 0)
}, 30000)
解释:setInterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,最终卡死你的网页。
但是setTimeout是自带清除定时器的