Sobes.tech
Middle

Promise, setTimeout жана синхрондук код менен коддо сандар кайсы тартипте чыгат?

sobes.tech AI

AIден жооп

JavaScriptте Promise, setTimeout жана синхрондук коддун аткаруу тартиби Event Loop жана микросервистер (microtasks) жана макросервистер (macrotasks) кезектери тарабынан аныкталган.

Биз мисалды карап көрөлү:

console.log('1');

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

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

console.log('4');

Түшүндүрмө:

  • Алгач, бардык синхрондук код аткарылат, ошондуктан 1 жана 4 чыгат.
  • Андан соң, микросервистер (Promise) аткарылат, жана 3 чыгат.
  • Кийинчерээк, макросервистер (setTimeout) аткарылат, жана 2 чыгат.

Акыркы чыгуу тартиби: 1, 4, 3, 2.

Ошентип, синхрондук код биринчи аткарылат, андан соң микросервистер (Promise), жана акырында макросервистер (setTimeout). Бул JavaScriptтин Event Loopун түшүнүүдө маанилүү пункт болуп саналат.