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ун түшүнүүдө маанилүү пункт болуп саналат.