Özet - Event loop iç yapıları
- Node.js kursu
- Uzman
- Ders 18/47
- 5 dk
fazlar, microtask ve I/O'yu birleştirerek bir event loop görselleştirici yazarsın.
Özet - Event loop iç yapıları
Bu grupta event loop'un iç yapısını gördük: altı faz, microtask'ler, timers queue, I/O callback'leri ve setImmediate. Her biri callback'lerin ne zaman çalıştığını belirler.
Fazlar: timers, pending, idle, poll, check, close. Microtask'ler fazlar arasında çalışır; nextTick önce. Timers queue gecikmeye göre sıralar. I/O callback'leri poll fazında çalışır. setImmediate check fazında çalışır. Son derste tümünü bir raporda birleştireceğiz.
Rapor fonksiyonu
Son görev event loop kavramlarını tek bir raporda birleştirir. loopReport() fonksiyonu faz sayısını ve yürütme sırasını ' | ' ile ayırarak döndürür. Çıktı: Phases: 6 | Order: timer -> io -> immediate.
Bu rapor, event loop'un iki yönünü özetler: kaç faz olduğu (6) ve bir turdaki yürütme sırası (timer -> io -> immediate). Fonksiyon içinde fazlar dizisini ve sıra dizesini ayrı değişkenlerde tutar, sonra + ile birleştirirsin. phases.length faz sayısını verir. Bu, öğrendiklerini konsolda görmeni sağlar; gerçek event loop'u çalıştırmanın belirsizliği olmadan yapısını modellemiş olursun.
Uygulama Event loop raporu yaz
function loopReport() yaz. const phases = ['timers', 'pending', 'idle', 'poll', 'check', 'close'] tanımla. const order = ['timer', 'io', 'immediate'].join(' -> ') tanımla. return 'Phases: ' + phases.length + ' | Order: ' + order ile döndür. console.log(loopReport()) ile yazdır.
Başlangıç kodu
// loopReport fonksiyonu yaz
// faz sayısı ve yürütme sırasını birleştir
// 'Phases: 6 | Order: timer -> io -> immediate' döndürsün
// çağır ve yazdır
// buraya yazÖrnek çözüm
function loopReport() {
const phases = ['timers', 'pending', 'idle', 'poll', 'check', 'close'];
const order = ['timer', 'io', 'immediate'].join(' -> ');
return 'Phases: ' + phases.length + ' | Order: ' + order;
}
console.log(loopReport());Beklenen çıktı
Phases: 6 | Order: timer -> io -> immediate
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Microtask'ler ne zaman çalışır?
- Fazlar arasında Doğru cevap
- Sadece başta
- Fazların içinde
- Sadece sonda
Açıklama: Microtask'ler fazlar arasında çalışır.
2 Kavramı rolüne eşle
| Kavram | Anlamı |
|---|---|
timers fazı |
setTimeout |
poll fazı |
I/O callback'leri |
check fazı |
setImmediate |
microtask |
nextTick ve Promise |