TGViewer
Defront — про фронтенд-разработку и не только Defront — про фронтенд-разработку и не только @defront · 5.05K subscribers
Post #728 3.04K
Нейт Шлосс и Эндрю Комминос рассказали про новое API для эффективной обработки событий пользователя — "Better JS scheduling with isInputPending()".

Для того чтобы страница оставалась отзывчивой при выполнении тяжёлых задач, их разбивают на большое количество мелких подзадач, обработка которых происходит с помощью setTimeout. Благодаря такому подходу браузер сохраняет отзывчивость. Проблема в том, что такое переключение для выполнения подзадач небесплатно, и если этот паттерн используется для начальной инициализации приложения, то общее время инициализации будет больше времени инициализации без этого паттерна.

Новое API isInputPending, которое было предложено и реализовано в Chromium инженерами Facebook, позволяет разрешить эту дилемму. С помощью isInputPending можно проверить, есть ли в текущей очереди задач пользовательские события, которые требует немедленной обработки. Таким образом можно планировать новые итерации выполнения подзадач точечно, ускоряя общее время выполенения кода.

isInputPending был добавлен в Chrome 87. Разработчики других браузеров на данный момент не заинтересованы в его добавлении.

#performance #js

https://web.dev/isinputpending/
Chrome for Developers Better JS scheduling with isInputPending() | Capabilities | Chrome for Developers A new JavaScript API that may help you avoid the trade-off between load performance and input responsiveness.
More from @defront
  1. Jan 7, 2024Channel name was changed to «Defront — про фронтенд-разработку и не только»
  2. Feb 24, 2022Про войну в Украине Шлю лучи поддержки братьям и сёстрам украинцам. В моём окружении нет н…
  3. Feb 23, 2022Qwik — возобновляемый JavaScript-фреймворк Райан Карниато поделился своими мыслями после р…
  4. Feb 22, 2022Обработка ошибок с помощью reportError Стэфан Джудис рассказал про малоизвестный метод для…
  5. Feb 21, 2022Выбор библиотеки по её размеру Владимир Клепов рассказал про подводные камни выбора библио…
  6. Feb 10, 2022Time-travel debugging в Svelte Сэм Ван Тассел рассказал про DeLorian — новый инструмент дл…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →