CodeBlanks Logo Icon CodeBlanks

on ve emit

.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

index.js
// emitter örneğini oluştur
// buraya yaz

// "greeting" olayını dinle
// buraya yaz

// Olayı fırlat
// buraya yaz

Örnek çözüm

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

Soru
emitter.____("greeting", () => { console.log("Merhaba"); });
Cevap
emitter.on("greeting", () => { console.log("Merhaba"); });

Açıklama: on metodu dinleyici kaydeder.

2 emitter.emit("greeting", "Ayşe") ne yapar?

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

Orta seviye bölümündeki tüm dersler