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
1ve4çı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.