最大潜在优先输入延迟(Max Potential First Input Delay)

我们衡量一个页面的首屏,往往只关注了首屏的渲染速度,而忽视了交互维度的评价。JavaScript在单线程环境中运行,当一个任务执行时间过长就会阻塞线程,其他所有任务都必须等待。在移动设备上情况更糟。任务可能要花费3-5倍的时间。什么是最大潜在优先输入延迟让我们定义第一个输入延迟的含义,因为它不包括所有用户交互。FID可测量诸如单击,按键和在字段中输入文本之类的操作。它不包括滚动或缩放,因为它们可以由浏览器在单独的线程上运行。评分规则最大潜在FID时间(ms)颜色编码0–130绿色(快速)1...

JS 中的协程(Coroutine)

为何要使用协程单线程环境中的并发:一些编程语言/环境只有一个线程。这时如果需要并发,协程是唯一的选择。(注意JS规范没有事件循环)简化代码:可以避免回调地狱有效利用操作系统资源和硬件:协程相比线程,占用资源更少,上下文更快何为协程协程是具有以下功能的函数:可以暂停执行(暂停的表达式称为暂停点);可以从挂起点恢复 
(保留其原始参数和局部变量)。在JS中协程是一种用function*语法标记的生成器函数,函数内部可以使用yield关键字暂停自身。然后可以通过发送一个值来恢复它。发送的值将显示...