鍍金池/ 問答/Linux  HTML/ requestAnimationFarme是同步還是異步

requestAnimationFarme是同步還是異步

這兩天在研究事件循環(huán)和任務(wù)隊列機制,里邊牽扯到setTimeout,因為在討論瀏覽器刷新頻率的時候,經(jīng)常將setTimeoutrequestAnimationFarme作比較。

所以同事提出requestAnimationFarme是否也屬于異步任務(wù),如果是的話,是屬于macro-task還是micro-task?

希望有了解的大神解釋一下,感謝!

回答
編輯回答
來守候
2017年7月26日 03:30
編輯回答
吢涼

先給結(jié)論: requestAnimationFarme 屬于macrotastks
然后我給個分類吧:
1、macrotasks包含:主js、UI渲染、setTimeout、setInterval、setImmediate、requestAnimationFarme、I/O等
2、microtasks包含:process.nextTick、promise、Object.observe等

有深入了解可以看下面幾個鏈接:
從Promise來看JavaScript中的Event Loop、Tasks和Microtasks

理解事件循環(huán)一(淺析)

Promise的隊列與setTimeout的隊列有何關(guān)聯(lián)

2018年7月4日 08:50
編輯回答
嘟尛嘴

典型的 MacroTask 包含了 setTimeout, setInterval, setImmediate, requestAnimationFrame, I/O, UI rendering 等,
MicroTask 包含了 process.nextTick, Promises, Object.observe, MutationObserver 等。
供參考。

2017年8月7日 10:53