Sobes.tech
Middle

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

sobes.tech AI

Odpowiedź od AI

Wyjście będzie:

1
4
3
2

Wyjaśnienie:

  • console.log('1') — wywołanie synchroniczne, wypisuje 1.
  • setTimeout(..., 0) — umieszcza funkcję w kolejce makrotaszek, zostanie wykonana po bieżącym stosie i mikro-taszkach.
  • Promise.resolve().then(...) — umieszcza funkcję w kolejce mikro-taszek, które są wykonywane zaraz po bieżącym stosie, ale przed makrotaszkami.
  • console.log('4') — wywołanie synchroniczne, wypisuje 4.

Kolejność wykonywania:

  1. Kod synchroniczny: 1, 4
  2. Mikro-taszki: 3
  3. Makro-taszki: 2