vue使用setInterval、setTimeout总结

it2022-05-05  251

本人前端菜鸟,在项目中由于没有用websocket,所以要定时调用后台接口获取数据所以用到了setInterval定时器,在离开页面的时候浏览器不会自动清除定时器,然后再回到这个页面的时候又会执行一个定时器,这样会导致定时器越来越多,这样是肯定不行的,经过查资料后总计一下简单的解决办法,要解决离开页面结束定时器的问题需要配置路由,这个暂时没研究。

在methods中定义一个定时器,在定时器内执行需要定时执行的方法:

在mounted中调用定时器存放到sessionStorage里,然后在判断sessionStorage里是否有定时器,如果有先清除,这样就不会有多个定时器执行了。

setTimeout也会存在一样的问题,执行完之后还是会存在,所以也要先清除掉。


最新回复(0)