前端知库

什么是长任务,为什么会影响交互响应?

参考答案

浏览器主线程任务占用达到约 50 毫秒及以上时,可被 Long Tasks 相关 API 记录为长任务。执行期间,后续输入处理和渲染可能被推迟,用户会感到点击或输入没有及时反馈。

优化首先要定位耗时来源,例如大量计算、同步解析或复杂布局,再考虑拆分工作、减少数据量、缓存或迁移到 Worker。仅把函数放进 Promise 微任务不会自动让浏览器获得绘制机会。

Long Tasks API 的支持范围需要检查,且长任务数量不是唯一体验指标。应结合交互路径、设备性能与真实用户指标分析;消除单个任务的耗时不应以制造大量重复工作为代价。