I/O callbacks
- Node.js kursu
- Uzman
- Ders 16/47
- 5 dk
I/O callback'leri ve poll fazını öğrenirsin.
I/O callbacks
I/O callbacks, dosya ve ağ işlemleri bittiğinde çalışan geri çağrılardır. poll fazında event loop, tamamlanmış I/O olaylarını toplar ve geri çağrılarını çalıştırır. fs.readFile bittiğinde callback'i burada çalışır.
Bir ioCallbacks(events) fonksiyonu bu fazı modeller: [{name: 'read'}, {name: 'write'}] girdisini 'read,write' döndürür. events.map(e => e.name) ile her olayın adını alır, .join(',') ile birleştirir. Bu, poll fazının I/O olaylarını sırayla işlediğini gösterir. Çıktı read,write olur. Gerçek Node.js'te bu geri çağrılar libuv tarafından kuyruğa eklenir; event loop poll fazında hepsini boşaltır. Model deterministiktir; zamanlama belirsizliği yoktur.
Olay adlarını çıkarma
Bu derste ioCallbacks fonksiyonunu yazacağız. Fonksiyon bir olay dizisi alır, her olayın name özelliğini çıkarır, virgülle birleştirir. Bu, poll fazının I/O olaylarını sırayla işlediğini modeller.
Örnek: events.map(e => e.name) ['read', 'write'] verir. .join(',') ile 'read,write' olur. console.log(ioCallbacks([{name: 'read'}, {name: 'write'}])) read,write yazdırır. map her öğeyi dönüştürür; burada nesneden ad dizesine. join diziyi dizeye birleştirir. Bu iki metot, poll fazının çıktısını özetlemek için yaygın bir desen oluşturur. Çıktı deterministiktir.
Uygulama I/O callback fonksiyonu yaz
function ioCallbacks(events) yaz. return events.map(e => e.name).join(',') ile döndür. console.log(ioCallbacks([{name: 'read'}, {name: 'write'}])) yazdır.
Başlangıç kodu
// ioCallbacks fonksiyonu yaz
// her olayın adını al
// virgülle birleştir ve yazdır
// [{name: 'read'}, {name: 'write'}] ile çağır
// buraya yazÖrnek çözüm
function ioCallbacks(events) {
return events.map(e => e.name).join(',');
}
console.log(ioCallbacks([{name: 'read'}, {name: 'write'}]));Beklenen çıktı
read,write
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 fs.readFile'in callback'i hangi fazda çalışır?
- poll Doğru cevap
- timers
- check
- close
Açıklama: I/O callback'leri poll fazında çalışır.
2 Kavramı açıklamasına eşle
| Kavram | Anlamı |
|---|---|
poll fazı |
I/O olaylarını işler |
map |
Her öğeyi dönüştürür |
join |
Diziyi dizeye birleştirir |
fs.readFile |
Dosya okuma I/O'şu |
3 map çağrısını tamamla
return events.____(e => e.name).join(',');
return events.map(e => e.name).join(',');
Açıklama: map her olayı adına dönüştürür.