CodeBlanks Logo Icon CodeBlanks

Özet - Event loop iç yapıları

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

index.js
// 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

index.js
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

Uzman bölümündeki tüm dersler