浏览器切换或最小化时,js定时器准时吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1720个文字,预计阅读时间需要7分钟。
目录前言浏览器可见性和不可见状态setIntervalsetTimeoutrequestAnimationFrame总结如何解决前言这是我最近开发中遇到的一个问题,下面是我测试出来的实践结果,供大家参考。
关于js定时器
目录
- 前言
- 浏览器可见和不可见状态
- setInterval
- setTimeout
- requestAnimationFrame
- 总结
- 如何解决
前言
这是我最近开发碰到的一个问题,本文是我测试出来的实践结果,供大家参考。
关于js定时器,setInterval和setTimeout,作为我们日常开发经常使用到的方法,大家一定非常熟悉。比如下面一个例子:
setInterval(() => { console.log('1'); }, 500);
作为刚学前端没多久的新人也能知道,这段代码就是每过500ms打印一次1(实际运行还需要考虑js的宏任务和微任务的执行时间,定时器的间隔时间是500ms,但是定时器中的方法触发可能需要在宏任务队列中排队,不一定会在500ms的时候触发,关于Event Loop的基础内容不在本文讨论之内)。
本文共计1720个文字,预计阅读时间需要7分钟。
目录前言浏览器可见性和不可见状态setIntervalsetTimeoutrequestAnimationFrame总结如何解决前言这是我最近开发中遇到的一个问题,下面是我测试出来的实践结果,供大家参考。
关于js定时器
目录
- 前言
- 浏览器可见和不可见状态
- setInterval
- setTimeout
- requestAnimationFrame
- 总结
- 如何解决
前言
这是我最近开发碰到的一个问题,本文是我测试出来的实践结果,供大家参考。
关于js定时器,setInterval和setTimeout,作为我们日常开发经常使用到的方法,大家一定非常熟悉。比如下面一个例子:
setInterval(() => { console.log('1'); }, 500);
作为刚学前端没多久的新人也能知道,这段代码就是每过500ms打印一次1(实际运行还需要考虑js的宏任务和微任务的执行时间,定时器的间隔时间是500ms,但是定时器中的方法触发可能需要在宏任务队列中排队,不一定会在500ms的时候触发,关于Event Loop的基础内容不在本文讨论之内)。

