Найти в Дзене

Коротко про EventLoop в JS

Event Loop (цикл событий) в JavaScript является ключевым механизмом для асинхронной обработки событий и выполнения асинхронного кода. Он позволяет JavaScript выполнять не блокирующие операции, такие как обработка сетевых запросов, файловых операций, таймеров и обработки пользовательских событий, без простоя всего приложения. В мире JavaScript микрозадачи (microtasks) и макрозадачи (macrotasks) относятся к различным типам асинхронных операций, которые могут быть поставлены в очередь для выполнения в Event Loop. Они имеют разные приоритеты и порядок выполнения. Выполнение скриптов в браузере можно разделить на несколько этапов: 3. Макротаски Больше материалов с хорошей подсветкой синтаксиса в моем блоге на teletype

Event Loop (цикл событий) в JavaScript является ключевым механизмом для асинхронной обработки событий и выполнения асинхронного кода. Он позволяет JavaScript выполнять не блокирующие операции, такие как обработка сетевых запросов, файловых операций, таймеров и обработки пользовательских событий, без простоя всего приложения. В мире JavaScript микрозадачи (microtasks) и макрозадачи (macrotasks) относятся к различным типам асинхронных операций, которые могут быть поставлены в очередь для выполнения в Event Loop. Они имеют разные приоритеты и порядок выполнения.

Выполнение скриптов в браузере можно разделить на несколько этапов:

  1. Синхронный код
  2. Микротаски
  • Микрозадачи имеют более высокий приоритет, чем макрозадачи, и выполняются до следующего цикла Event Loop.
  • Они используются для обработки реактивных операций, таких как промисы (Promise.then, Promise.catch, Promise.finally) и методы queueMicrotask.
  • Микрозадачи добавляются в Microtask Queue.

3. Макротаски

  • Макрозадачи имеют более низкий приоритет и выполняются после выполнения всех текущих микрозадач и до следующего цикла Event Loop.
  • К ним относятся операции ввода/вывода (I/O), таймеры (setTimeout, setInterval), обработчики событий (onclick, onload) и другие асинхронные операции.
  • Макрозадачи добавляются в Callback Queue.

Больше материалов с хорошей подсветкой синтаксиса в моем блоге на teletype