浅谈定时器及定时器在Vue项目中的使用

本文介绍了前端工程师在Vue项目中使用定时器的常见问题和解决方案。在监控大屏列表实时刷新场景下,作者通过setInterval实现定时请求,但由于<keep-alive>的存在,beforedestroy和destroyed钩子未执行,导致定时器未清除。作者通过学习,了解到应使用导航守卫beforeRouteLeave来解决这个问题,分享了这一实践经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        对于一位前端工程师来说,说到定时器,想必都不陌生。无论是刚开始码农生活的新人还是多年工作经验的大牛,setTimeout() 、setInterval() 在项目中不可避免的都会使用。

        作为一个前端小菜鸟,在项目中的监控大屏的列表中需要用到setInterval来实现列表实时刷新。在这里我使用setInterval设置定时请求服务,刷新列表数据,保证数据展示最新。按照以往的经验,我发现在钩子函数beforedestroy和destroyed中清除定时器不执行,后来发现原来是<keep-alive>的原因,以至于这俩钩子函数在路由跳转的过程中不被执行。于是在大佬的指导下,采用了导航守卫的方法,废话不多说,直接上才艺:

什么是定时器?

        首先,定时器是什么东东,我们要清楚。根据W3Cschool爸爸的定义:

 w3cschool定时器教程链接:https://www.w3cschool.cn/javascript_guide/javascript_guide-h2aj269b.html

所以,简单来说,js定时器有下面的两种方法:

        1,规定时间后,只调用一次setTimeout()

        用法:

    //规定时间后,调用代码
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值