Sobes.tech
Middle

console.log('1'); setTimeout(() => console.log('2'), 0); Promise.resolve().then(() => console.log('3')); console.log('4');

sobes.tech MI

Válasz az MI-től

A kimenet a következő lesz:

1
4
3
2

Magyarázat:

  • console.log('1') — szinkron hívás, kiírja az 1-et.
  • setTimeout(..., 0) — a függvényt a makro feladatok sorába helyezi, amely a jelenlegi verem és mikro feladatok után fog végrehajtódni.
  • Promise.resolve().then(...) — a függvényt a mikro feladatok sorába helyezi, amelyek az aktuális verem után, de a makro feladatok előtt futnak.
  • console.log('4') — szinkron hívás, kiírja a 4-et.

Végrehajtási sorrend:

  1. Szinkron kód: 1, 4
  2. Mikro feladatok: 3
  3. Makro feladatok: 2