1.注意问题:
一般轮询都会使用setInterval,但是单独使用它会使页面卡死。
2.下面是3秒钟轮询一次的代码
export default { data() { return { } }, mounted() { this.getList(); this.timer = window.setInterval(() => { setTimeout(() => { this.getList() },0) },3000) }, methods: { getList() { // 发送接口 } }, destroyed() { window.clearInterval(this.timer) // 页面销毁后清空轮询 } }
3.使用说明:
setInterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,会出现网页卡死现象。但是setTimeout是自带清除定时器的,两者结合使用将避免页面卡死。
页面初始化,待开始轮询后,离开页面,通过生命周期destroyed钩子函数,销毁定时任务。
原文链接:https://doubaoyuanma.com/256.html,转载请注明出处。
评论0