17、requestAnimationFrame 和requestIdleCallback 的执行时机

浏览器执行情况:
宏任务 –> 微任务 –> requestAnimationFrame –> 渲染 –> requestIdleCallback –> 下一个宏任务 –> ……

requestAnimationFrame:在下一次浏览器重绘之前一定会执行,常用于动画处理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const divEle = document.getElementById('xxx')

let x = 0
const moveAnimation = () => {
if(x > 20) return

divEle.style.marginLeft = `${x}px`;

window.requestAnimationFrame(moveAnimation)

x++
}

window.requestAnimationFrame(moveAnimation)

requestIdleCallback:浏览器空闲时去执行,常用于低优先级的长任务,但执行时机不确定哦


17、requestAnimationFrame 和requestIdleCallback 的执行时机
https://mrhzq.github.io/职业上一二事/前端面试/每日一题/17、requestAnimationFrame 和requestIdleCallback 的执行时机/
作者
黄智强
发布于
2024年1月23日
许可协议