on ve emit
- Node.js kursu
- Orta seviye
- Ders 2/116
- 5 dk
.on ile dinleme ve .emit ile olay fırlatmayı öğrenirsin.
on ve emit
on metodu bir dinleyici kaydeder. İmza: emitter.on(olayAdı, dinleyici). emit metodu olayı fırlatır ve dinleyicileri çağırır: emitter.emit(olayAdı, ...argümanlar).
Örnek: emitter.on("merhaba", (isim) => console.log("Selam " + isim)); ile dinleyici eklersin. emitter.emit("merhaba", "Ayşe") çağrısı Selam Ayşe yazdırır. emit'in ikinci ve sonraki parametreleri dinleyiciye argüman olarak geçer. Olay adı her iki tarafta aynı olmalıdır.
Birden çok dinleyici
Aynı olay için birden çok on çağrısı yaparsan her dinleyici sırayla çağrılır. emit true döndürürse en az bir dinleyici vardır; false döndürürse hiç yoktur.
Argümanlar istediğin kadar olabilir: emitter.emit("satis", urun, adet, fiyat). Dinleyici (urun, adet, fiyat) => {...} şeklinde alır. Gereksiz argümanlar sessizce yok sayılır; eksik argümanlar undefined olur. Bu esneklik EventEmitter'i günlük iş akışlarında pratik yapar.
Uygulama Olay fırlat ve dinle
emitter örneği oluştur. "greeting" olayını dinle: dinleyici (isim) alsın ve "Merhaba " + isim yazsın. Sonra emitter.emit("greeting", "Ayşe") ile olayı fırlat.
Başlangıç kodu
// emitter örneğini oluştur
// buraya yaz
// "greeting" olayını dinle
// buraya yaz
// Olayı fırlat
// buraya yazÖrnek çözüm
const { EventEmitter } = require("events");
const emitter = new EventEmitter();
emitter.on("greeting", (isim) => console.log("Merhaba " + isim));
emitter.emit("greeting", "Ayşe");Beklenen çıktı
Merhaba Ayşe
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Dinleme satırını tamamla
emitter.____("greeting", () => { console.log("Merhaba"); });
emitter.on("greeting", () => { console.log("Merhaba"); });
Açıklama: on metodu dinleyici kaydeder.
2 emitter.emit("greeting", "Ayşe") ne yapar?
emitter.emit("greeting", "Ayşe")- Yeni bir "greeting" dinleyicisi ekler
- "greeting" dinleyicilerini çağırır ve "Ayşe" argümanını geçirir Doğru cevap
- "greeting" olayını siler
- Yalnızca olay adını döndürür
Açıklama: emit dinleyicileri çağırır ve argümanları geçirir.
3 Metodu rolüne eşle
| Kavram | Anlamı |
|---|---|
on |
Dinleyici kaydeder |
emit |
Olayı fırlatır |
olay adı |
Sinyalın ismi |
argüman |
Dinleyiciye geçen değer |