Özet - Events
- Node.js kursu
- Orta seviye
- Ders 6/116
- 5 dk
EventEmitter, on/emit ve önce'ı birleştirerek bir sayaç uygulaması yazarsın.
Özet - Events
Bu grupta EventEmitter'in temel araçlarını öğrendin: on ile dinleyici kaydetmek, emit ile olay fırlatmak, once ile tek seferlik dinleyici eklemek, removeListener ile dinleyici kaldırmak ve error olayı ile hata yönetimi.
Şimdi bunları birleştirerek bir sayaç uygulaması yazacaksın. Uygulama bir EventEmitter üzerine kurulu olacak; "inc" olayı her fırlatıldığında sayaç artacak ve güncel değer yazdırılacak. Bu mini görev sayesinde olayların gerçek bir senaryoda nasıl birleştiğini göreceksin.
Sayaç tasarımı
Sayaç uygulamasının iskeleti: bir count değişkeni, bir EventEmitter örneği ve bir "inc" dinleyicisi. Dinleyici count'u bir artırır ve yeni değeri yazdırır. Dışarıdan emit("inc") çağrıları sayacı ilerletir.
Akış: const counter = new EventEmitter(); let count = 0; counter.on("inc", () => { count++; console.log("Sayaç: " + count); });. Üç emit("inc") çağrısı Sayaç: 1, Sayaç: 2, Sayaç: 3 yazdırır. Dinleyici içte count'u kapatır (closure); bu yüzden sayaç değeri çağrılar arasında korunur.
Uygulama Sayaç uygulamasını yaz
counter adında bir EventEmitter örneği oluştur. count değişkenini 0 başlat. "inc" olayını dinle: dinleyici count'u bir artırsın ve "Sayaç: " + count yazsın. emit("inc") çağrısını üç kez yap.
Başlangıç kodu
// EventEmitter içe aktar ve counter örneği oluştur
// buraya yaz
let count = 0;
// "inc" olayı için dinleyici ekle: count'u artır ve "Sayaç: " + count yazdır
// buraya yaz
// "inc" olayını üç kez fırlat
// buraya yazÖrnek çözüm
const { EventEmitter } = require("events");
const counter = new EventEmitter();
let count = 0;
counter.on("inc", () => { count++; console.log("Sayaç: " + count); });
counter.emit("inc");
counter.emit("inc");
counter.emit("inc");Beklenen çıktı
Sayaç: 1 Sayaç: 2 Sayaç: 3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Sayaç uygulaması hangi parçaları birleştirir?
emitter.on("inc", () => { count++; ... })- Yalnızca console.log
- EventEmitter, on ve emit Doğru cevap
- Yalnızca require
- Yalnızca new
Açıklama: EventEmitter örneği, on ile dinleme ve emit ile fırlatma birleşir.
2 Aracı rolüne eşle
| Kavram | Anlamı |
|---|---|
on("inc", ...) |
Sayacı dinler |
emit("inc") |
Artırmayı tetikler |
count++ |
Değeri bir artırır |
new EventEmitter() |
Yayıncı oluşturur |