使用 Chrome Devtool 进行性能分析时,在 Performance 面板上,可以看到用绿线标出来的 First-Contentful-Paint
。浏览器何时进行首次渲染?网上只能查到一些模棱两可的资料,今天我们来探究这个问题。
在上篇文章《现代前端科技解析 —— 数据响应式系统 (Data Reactivity System)》中我们用到了 nextTick
函数,该函数使用 MutationObserver
实现了『异步』更新。我们工作中也常用 setTimeout(fn, 0)
来实现任务的『延迟』执行。本文以次为引,结合浏览器渲染,全面解析一轮 eventloop(事件循环)
各步骤的执行时序问题。