Sobes.tech
Middle

Promise, setTimeout ve senkron kod (Event Loop) ile kodda sayılar hangi sırayla gösterilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

JavaScript'te Promise, setTimeout ve senkron kodun yürütülme sırası, Event Loop ve mikro görevler (microtasks) ile makro görevler (macrotasks) kuyrukları tarafından belirlenir.

Bir örnek düşünelim:

console.log('1');

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

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

console.log('4');

Açıklama:

  • İlk olarak, tüm senkron kod çalıştırılır, bu yüzden 1 ve 4 çıktı olarak alınır.
  • Daha sonra mikro görevler (Promise) çalıştırılır, 3 çıktı olarak alınır.
  • Ardından makro görevler (setTimeout) çalıştırılır, 2 çıktı olarak alınır.

Son çıktı sırası: 1, 4, 3, 2.

Bu nedenle, senkron kod ilk olarak çalışır, ardından mikro görevler (Promise) ve sonra makro görevler (setTimeout) gelir. Bu, JavaScript'te Event Loop'un anlaşılmasında anahtar bir noktadır.