Sobes.tech
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ə 14 çı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.