javascript Цикл событий (event loop) - Макрозадачи и Микрозадачи

Цикл событий

Цикл событий (event loop) -- движок JS выполняет различные задачи "по очереди", если для какого-либо события назначен обработчик, то он будет добавлен в очередь и обработан свое время.

Макро и микрозадачи - как они соотносятся

Очередь задач состоит из макрозадач, внутри каждой макрозадачи находится очередь микрозадач.

  • Макрозадачи - приходят и из кода напр. истек таймут вызова setTimeout() и от внешних событий (действия мышь, нажатия клавишь)
  • Микрозадачи - приходят только из кода (в основном из промисов, напр. в обработчиках .then/catch/finally)

Что еще почитать: