Middle
Promise, setTimeout və sinxron kod ilə kodda ədədlər hansı ardıcıllıqla göstəriləcək?
sobes.tech Süni İntellekt
AI-dan cavab
JavaScript-də Promise, setTimeout və sinxron kodun icra sırası Event Loop və mikro və makro vəzifə növbələri tərəfindən müəyyən edilir.
Bir nümunəyə baxaq:
console.log('1');
setTimeout(() => {
console.log('2');
}, 0);
Promise.resolve().then(() => {
console.log('3');
});
console.log('4');
İzah:
- Əvvəlcə, bütün sinxron kod icra olunur, ona görə də
1və4çıxarılır. - Sonra mikro vəzifələr (Promise) icra olunur,
3çıxarılır. - Daha sonra makro vəzifələr (setTimeout) icra olunur,
2çıxarılır.
Nəticədə çıxış sırası: 1, 4, 3, 2.
Beləliklə, sinxron kod ilk icra olunur, sonra mikro vəzifələr (Promise), və sonda makro vəzifələr (setTimeout). Bu, JavaScript-də Event Loop-u anlamaqda əsas nöqtədir.