Skip to content

因为需求是数据看板需要每10秒刷新一次,使得柱状图跟折线图做到实时刷新。

因此本人使用setInterval设置请求时间,但是没有考虑到关闭定时器,使得浏览器的性能大大损耗。在这里讲一下关于定时器的知识点

1、JS中的定时器有两种:

js
setTimeout(funct,time):
设置一个定时器,并且设定了一个等待的时间[time],当到达时间后,
执行对应的方法[function],当方法执行完成定时器停止(但是定时器还在,只不过没用了,以后也不会执行);
setInterval(funct,time):
设置一个定时器,并且设定了一个等待的时间[time],当到达时间后,
执行对应的方法[function],当方法执行完成,定时器并没有停止,
以后每隔[time]这么长的时间都会重新的执行对应的方法[function],直到我们手动清除定时器为止;

2、定时器的清除

js
var timer1=window.setTimeout(function(){
   },1000); 
var timer2=window.setInterval(function(){
   },1000); 
window.clearTimeout(timer1)
window.clearInterval(timer2)