首页 > 试题广场 >

setTimeout、setInterval和request

[问答题]
请你简要描述一下,相较于setTimeout和setInterval,requestAnimationFrame的特点是什么?
1. requestAnimationFrame保证在浏览器下次刷新ui前执行回调函数,自带节流效果,通常与浏览器的刷新频率一致。
2. 当前标签页被置于后台时回调函数会停止运行,而setTimeout和setInterval的回调函数会在后台执行
3. 与setTimeout和setInterval一样,requestAnimationFrame的回调也会被长时间占用执行栈的任务阻塞
4. 目前requestAnimationFrame的回调具体会在何时执行不同浏览器有不同的行为,chrome会在microtask和macrotask之间执行回调而firefox只在macrotask之后执行回调
发表于 2019-03-07 20:47:29 回复(0)
requestAnimationFrame是由浏览器系统来决定回调函数的执行时机,步伐完全跟着系统的刷新步伐走,而且能保证回调函数在屏幕每次刷新间隔中只执行一次。当页面被隐藏或最小化时,setTimeout和setInterval仍然会在后台执行动画任务,而requestAnimationFrame当页面没激活时,该页面的屏幕刷新任务也会被系统暂停,页面被激活时,动画就从上次停留的地方继续执行。
发表于 2019-04-02 16:55:21 回复(0)
不用设置间隔时间,采用系统时间,使用一个回调函数作为参数,这个回调函数会在浏览器重绘之前调用,返回一个整数,表示定时器的编号
发表于 2019-03-07 18:16:04 回复(0)