🔍 inp.works

Головний потік зайнятий: великий input delay ще до запуску обробника

Що відбувається

Input delay — час між кліком користувача й моментом старту вашого обробника. Сам обробник може бути ідеально швидким — але якщо головний потік у середині довгої задачі (гідрація, ініціалізація аналітики, таймер із парсингом даних), подія чекає в черзі, поки та задача не закінчиться.

Це єдина фаза INP, яку не виправити в самому обробнику: винен інший код, який випадково виконувався в цей момент.

Як розпізнати

Як виправити

Проблема

// at page load: one 800 ms task — every click during it waits
initAnalytics()
buildSearchIndex(allProducts)
prefetchRecommendations()

Виправлення

initAnalytics()
await scheduler.yield()                  // events can run between steps
buildSearchIndex(allProducts)
requestIdleCallback(() => prefetchRecommendations())
Просканувати свій сайт безкоштовно →
Advertise here