EventEmitter
- Node.js kursu
- Orta seviye
- Ders 1/116
- 5 dk
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
// EventEmitter içe aktar
// buraya yaz
// emitter örneği oluştur
// buraya yaz
// Hazır mesajını yazdır
// buraya yazÖrnek çözüm
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?
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
const { EventEmitter } = require("____");
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 |