添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

上面这样写已经实现功能,关闭页面不会继续执行。长时间运行页面也没有卡死。

有人说,setInterval()里面嵌套setTimeout()

setinterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,最终卡死你的网页。 其原因与JS引擎线程有关(需深入研究JS引擎线程) ,但是setTimeout是自带清除定时器的。 我没有出现页面卡死的情况所以就没加setTimeout。

        setInterval(() => {
            setTimeout(() => {
                this.queryChartTime()
            }, 0)
        }, 10000)

setInterval()和setTimeout()的区别:

一个是循环执行setInterval,另一个是定时执行setTimeout

1:setInterval 循环执行, 每隔一段时间执行一次, 多次执行。

2:setTimeout 到时间后执行, 只执行一次。

在beforeDestroy()生命周期内清除定时器

定时器需要在页面销毁的时候清除掉,不然会一直存在!!

setinterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,最终卡死你的网页。其原因与JS引擎线程有关(需深入研究JS引擎线程) ,但是setTimeout是自带清除定时器的。一个是循环执行setInterval,另一个是定时执行setTimeout。1:setInterval 循环执行, 每隔一段时间执行一次, 多次执行。2:setTimeout 到时间后执行, 只执行一次。定时器需要在页面销毁的时候清除掉,不然会一直存在!timer:null, //定时器名称。
创建 定时器 Vue 定时器 分为好几种的呢,在这里我简单的写了三种来看一下,这三种分别是 一次 定时器 、指定时间间隔触发 定时器 、清除 定时器 。 1.1 一次 定时器 //第二个参数是毫 数 let timer = setTimeout(() => { //需要定时 执行 的代码 console.debug("Hello World"); }, 3000) 1.2 指定时间间隔触发 定时器 let timer = setInterval(() => { //需要定时 执行 的代码 },500
Vue 项目 中,您可以 使用 axios 等 HTTP 库在页面创建前先获取数据,然后 使用 setInterval() 方法 每隔 5 轮询 一次 接口。 mounted() { this.getData(); this.interval = setInterval(() => { this.getData(); }, 5000); beforeDestroy...