tgoop.com/mefody_dev/400
Create:
Last Update:
Last Update:
Почему браузеры троттлят JS-таймеры?
Нолан Лоусон делится задачей: нужно после того, как выполнены все микротаски, но ещё не начали выполняться таски в event loop, запустить какие-то полезные фоновые задачи. Думаю, на собеседованиях часто такие вопросы можно услышать.
Есть древний способ вызвать setTimeout(0)
, но на самом деле это задержка в 4ms, сделанная против абьюза от нехороших разработчиков, ломавших страницы в вебе.
Нолан в статье сравнивает разные способы выполнить изначальную задачу (setImmediate
, MessageChannel.postMessage
, window.postMessage
и scheduler.postTask
) по их кроссбраузерности и особенностям. Спойлер: одного идеального способа нет.
https://nolanlawson.com/2025/08/31/why-do-browsers-throttle-javascript-timers/
BY mefody.dev

Share with your friend now:
tgoop.com/mefody_dev/400