TGViewer
Javascript Javascript @javascriptv · 17K subscribers
Post #2149 3.77K
Что выведет этот код?


console.log("A")

setTimeout(() => console.log("B"), 0)

Promise.resolve().then(() => console.log("C"))

console.log("D")


A
D
C
B

Разбор по шагам.

• Сначала выполняется синхронный код (Call Stack):
• console.log("A") → выводит A
• setTimeout(..., 0) → колбэк отправляется в macrotask queue
• Promise.resolve().then(...) → колбэк отправляется в microtask queue
• console.log("D") → выводит D

После этого основной поток завершён.

Затем Event Loop обрабатывает microtasks (они имеют более высокий приоритет):

выполняется Promise → выводит C

И только потом выполняются macrotasks:

• setTimeout → выводит B

Итоговый порядок выполнения:

Sync → Microtasks (Promise) → Macrotasks (setTimeout)

Если кратко:

Promise всегда выполнится раньше setTimeout, даже если timeout = 0.
  • 👍 25
  • ❤ 3
  • 🔥 3
More from @javascriptv
  1. Sep 21, 2026Совет по HTML 💡 Семантический способ выделить часть текста ✅
  2. Sep 14, 2026photo post
  3. Sep 13, 2026Fancy Button Кнопка с эффектом обрезанных углов, реализованная на чистом CSS. https://code…
  4. Sep 9, 2026⚡️ Релиз ChatGPT Images 2.5 Новое поколение генератора изображений работает на 50% быстрее…
  5. Sep 8, 2026Color Palette Палитра с оттенками цветов. Полноценно работает с компьютера. Логика переклю…
  6. Sep 8, 2026📍ОФЛАЙН, Москва 📆 16 сентября, 19:00 AI Meetup для инженеров от OneTwoTrip 💛🤖 Искусств…
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 →