Разбираемся в очередях event loop'а JavaScript

preview_player
Показать описание
В данном видео мы с вами рассмотрим, как работают очереди event loop, какой у них приоритет, и результаты каких действий попадают в какую очередь.

Выступление Jake Archibald об event loop:

Пост от Jake Archibald об event loop:

Мой канал в Телеграм:
Рекомендации по теме
Комментарии
Автор

Круто получилось, как раз думал изучить эту тему, и начал собирать материалы для этого

aidarsmagulov
Автор

спасибо за видео! первым увидел твое видео с собесом с Муратом и затянуло, очень интересные видосы пилишь!

nafanya
Автор

requestAnimationFrame создан и существует прежде всего для того,
чтобы разработчик имел четкий сигнал в какой момент, он может
вносить изменения в DOM, не боясь спровоцировать reflow всей области отображения.

demimurych
Автор

Ты молодец! Однозначно подписка. Хочу увидеть собес на джуна со мной на твоём канале ))))

krylovDev
Автор

Спасибо за контент!
Было бы круто увидеть полифил на промис, возможно даже на async await)
requestIdleCallback - была ли у вас практика использования, хотя поддержка оставляет желать лучшего,
но интересно в каком скоупе она выполняется)

sergei_sergeevu
Автор

Спасибо, промисы будут очень кстати, а еще бы про requestAnimationFrame! Что-то никак не могу догнать как работает( Хотя я еще много чего не понимаю😅

tkqvrvc
Автор

привет, крутяк) готовлюсь к собесам и тема оказалась неоч сложная. но торопишься очень сильно, и по темам слегка прыгаешь. ролик был 10 месяцев назад, надеюсь ты апнул свой скилл рассказывать)

mhbzdmb
Автор

Еще есть requestIdleCallback. Вызов во время простоя браузера(когда все очереди пусты)

mody-pqkd
Автор

Спасибо за контент, а ты не перепутал методы shift и unshift?

bnvwxfu
Автор

Привет, классный контент, создавай чат в тг, чтобы можно было обмениваться вопросами, помогать друг другу

Nikitosss
Автор

Правильно ли я понял что микро таски выполняются прям в стеке вызова (call stack) ?

ndhpoho
Автор

Уже 9 месяцев прошло, где видео про полифил промиса?)

whiteguards
Автор

Не все observers создают микрозадачи:
- MutationObserver - создает
- IntersectionObserver, PerformanceObserver, ResizeObserver - не создают, часть из них производят макрозадачи и напоминают по механике rAF, но со своими причудами

Вообще observers это очень непростая история, даже rIC будут проще в сравнении с ними.

Что касается rAF...это этап, который происходит когда браузер считает, что рендер документа имеет смысл, rAF это не макрозадача и не микрозадача, это отдельная задача, которая входит в список операций перед пересчетом стилей, обновлением макета и покраской. Так вот если в течении какой-либо из итераций цикла происходит запрос на rAF, то все запросы попадают в специальную карту запросов rAF. Когда наступает момент вызывать обработчики rAF, то вызываются все функции обратного вызова, которые были накоплены в эту карту на протяжении циклов/а событий. По окончанию выполнения этих функций они выталкиваются из этой карты и все происходит сначала. Вложенные rAF записываются в карту, но не выполняются, так как перед выполнением rAF делается слепок функций обратного вызова, которые должны быть выполнены, все что попало после не выполняется.

Там где я прокомментировал - добротно посмеялся. Держите правило - говорите в чем уверены наверняка. Это избавит от таких умников типо меня :)

Maxim