1. 当页面需要轮询去查询某个接口时,不要直接使用setInterval(会有缓存,导致页面卡顿)
原因:setInterval 不会清除定时器队列,每重复执行1次都会导致定时器叠加,卡死。但是setTimeout 是自带清除定时器的所以可以叠加使用。
(1)方法1:
使用 setInterval 和 setTimeout 结合的方式
setInterval(() => {
setTimeout(() => {
// 这里放请求和一些处理
}, 0)
}, 3000)
(2)方法2
单独使用 setTimeout 的方法 ->
在react代码中:
useEffect(() => {
setTimeout(() => {
// 这里放请求和一些处理
},3000)
}, [依赖的变量])
在vue中和react代码类似,watch监听结合一下即可