Sobes.tech
Middle

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

sobes.tech AI

AIден жооп

Натыйжада чыгуу мындай болот:

1
4
3
2

Тушундуруу:

  • console.log('1') — синхрондук чакыру, 1 чыгарат.
  • setTimeout(..., 0) — функцияны макротаск кезегине коет, ал учурдагы стек жана микротаск аяктагандан кийин ишке ашырылат.
  • Promise.resolve().then(...) — функцияны микротаск кезегине коет, ал учурдагы стекден кийин, бирок макротаскка чейин ишке ашырылат.
  • console.log('4') — синхрондук чакыру, 4 чыгарат.

Ишке ашыруу тартиби:

  1. Синхрондук код: 1, 4
  2. Микротаск: 3
  3. Макротаск: 2