项目中我们经常需要实现轮询-每隔几秒请求一次接口刷新数据

一般都会使用setInterval,但要注意单纯使用它会导致页面卡死,关于怎么解决这个问题感谢年树先生的分享,在此做个记录方便以后查阅

原博地址如下:https://www.qdfuns.com/article/51117/15a67319ddea5b043a466583d7e734c6.html

解决方法如下:

window.setInterval(() => {
  setTimeout(fun, 0)
}, 30000)

解释:setInterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,最终卡死你的网页。
但是setTimeout是自带清除定时器的

如果有更好的方法欢迎指导

Logo

前往低代码交流专区

更多推荐