Sobes.tech
Middle

Promise, setTimeout va sinxron kod bilan kodda raqamlar qanday tartibda chiqariladi?

sobes.tech AI

AIdan javob

JavaScriptda Promise, setTimeout va sinkron kodning bajarilish tartibi Event Loop va mikro vazifalar (microtasks) va makro vazifalar (macrotasks) navbatlari tomonidan belgilanadi.

Misol keltiraylik:

console.log('1');

setTimeout(() => {
  console.log('2');
}, 0);

Promise.resolve().then(() => {
  console.log('3');
});

console.log('4');

Tushuntirish:

  • Avvalo, barcha sinkron kod bajariladi, shuning uchun 1 va 4 chiqariladi.
  • Keyin mikro vazifalar (Promise) bajariladi, 3 chiqariladi.
  • So'ng makro vazifalar (setTimeout) bajariladi, 2 chiqariladi.

Natijaviy chiqish tartibi: 1, 4, 3, 2.

Shu bilan, sinkron kod birinchi bajariladi, keyin mikro vazifalar (Promise), va oxirida makro vazifalar (setTimeout). Bu JavaScriptda Event Loopni tushunishda muhim nuqtadir.