CodeBlanks Logo Icon CodeBlanks

EventEmitter

EventEmitter ile olay yönetimini öğrenirsin.

EventEmitter nedir?

Node.js'te EventEmitter olay yayınlayan bir sınıftır. events modülünden içe aktarılır: const { EventEmitter } = require("events");. Bir örnek new EventEmitter() ile oluşturulur.

Olay (event) isimlendirilmiş bir sinyaldir. Yayıncı bir olayı fırlatır (emit), dinleyiciler bu olayı dinler (on). Aynı olayı birden çok dinleyici izleyebilir. Node.js'in http ve stream API'leri bu yapı üzerine kuruludur; bu yüzden EventEmitter'i anlamak Node.js'in kalbini anlamaktır.

Olay kavramı

Bir EventEmitter iki temel metot kullanır. on(olayAdı, dinleyici) bir dinleyici kaydeder; emit(olayAdı, ...argümanlar) kayıtlı dinleyicileri çağırır. Olay adı serbest bir dizedir; yaygın örnekler: "data", "end", "error".

Dinleyici, olay fırlatıldığında çalışacak fonksiyondur. Argümanlar emit'ten dinleyiciye sırayla geçirilir. Henüz dinleyici yoksa emit sessizce geçer; hata vermez. Bu, gevşek bağlantılı (loosely coupled) yapı sağlar: yayıncı dinleyicileri tanımak zorunda değildir.

Uygulama EventEmitter örneği oluştur

events modülünden EventEmitter içe aktar. emitter adında bir örnek oluştur ve console.log ile "Yayıncı hazır" yaz.

Başlangıç kodu

index.js
// EventEmitter içe aktar
// buraya yaz

// emitter örneği oluştur
// buraya yaz

// Hazır mesajını yazdır
// buraya yaz

Örnek çözüm

index.js
const { EventEmitter } = require("events");
const emitter = new EventEmitter();
console.log("Yayıncı hazır");

Beklenen çıktı

Yayıncı hazır

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 EventEmitter hangi yolla içe aktarılır?

index.js
const { EventEmitter } = require("events");
  • const { EventEmitter } = require("events") Doğru cevap
  • import { EventEmitter } from "node"
  • const emitter = require("events")
  • const EventEmitter = new events()

Açıklama: events modülünden EventEmitter yıkım ile içe aktarılır.

2 Modül adını tamamla

Soru
const { EventEmitter } = require("____");
Cevap
const { EventEmitter } = require("events");

Açıklama: Yerleşik modülün adı events'tir.

3 Parçayı rolüne eşle

Kavram Anlamı
EventEmitter Olay yayıcı sınıf
events Yerleşik modül
new Örnek oluşturur
emit Olay fırlatır

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