Sobes.tech
Middle

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

sobes.tech AI

AIdan javob

Chiqish quyidagicha bo'ladi:

1
4
3
2

Tushuntirish:

  • console.log('1') — sinxron chaqiriq, 1 ni chiqaradi.
  • setTimeout(..., 0) — funksiyani makro vazifalar navbatiga qo'yadi, hozirgi stack va mikro vazifalar tugagandan so'ng bajariladi.
  • Promise.resolve().then(...) — funksiyani mikro vazifalar navbatiga qo'yadi, ular hozirgi stackdan darhol keyin, lekin makro vazifalardan oldin bajariladi.
  • console.log('4') — sinxron chaqiriq, 4 ni chiqaradi.

Bajarilish tartibi:

  1. Sinxron kod: 1, 4
  2. Mikro vazifalar: 3
  3. Makro vazifalar: 2