vue轮询方法

在Vue应用中,通过结合使用setInterval和setTimeout来实现轮询,可以防止页面卡死。当组件挂载后启动定时器,每10秒调用一次getOrderLists方法请求数据。同时,在组件销毁时,利用destroyed生命周期钩子清除定时器,确保资源的释放,避免内存泄漏。
摘要由CSDN通过智能技术生成
// 页面挂载完成后运行轮询
mounted() {
    this.timer = window.setInterval(()=>{
        setTimeout(()=>{
	        // 轮询里的处理代码
		    this.getOrderLists();
	    },0);
    },10000);
},
methods: {
    getOrderLists() {
        //请求接口
    }
},
// 页面销毁的时候清除定时器
destroyed() {
  	window.clearInterval(this.timer);
}

1.注意问题:
一般轮询都会使用setInterval,但是单独使用它会使页面卡死。

2.使用说明:
setInterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,会出现网页卡死现象。但是setTimeout是自带清除定时器的,两者结合使用将避免页面卡死。

页面初始化,待开始轮询后,离开页面,通过生命周期destroyed钩子函数,销毁定时任务。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值