js2种常用定时器:
//会间隔3s不停的调用函数
setInterval(function(){}, 3000)
//延迟3s执行 只执行一次
setTimeout(function(){}, 3000)
使用多个setInterval会导致浏览器崩溃!原因是setInterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,最终导致浏览器崩溃。
setTimeout是自带清除定时器的,解决方法如下:
window.setInterval(() => {
setTimeout(function(){}, 0)
}, 3000)
//页面加载完 再定时刷新
data:{
return {
Timer01:null,
}
},
mounted(){
let that = this;
that.getData();
that.Timer01 = window.setInterval(() => {
setTimeout(()=>{
that.getData();
}, 0)
}, 3000)
},
destory(){
this.Timer01 = null
}