🔍 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