什么是长任务,为什么会影响交互响应?
参考答案
浏览器主线程任务占用达到约 50 毫秒及以上时,可被 Long Tasks 相关 API 记录为长任务。执行期间,后续输入处理和渲染可能被推迟,用户会感到点击或输入没有及时反馈。
优化首先要定位耗时来源,例如大量计算、同步解析或复杂布局,再考虑拆分工作、减少数据量、缓存或迁移到 Worker。仅把函数放进 Promise 微任务不会自动让浏览器获得绘制机会。
Long Tasks API 的支持范围需要检查,且长任务数量不是唯一体验指标。应结合交互路径、设备性能与真实用户指标分析;消除单个任务的耗时不应以制造大量重复工作为代价。