Tartışma

EventEmitter Rehberi

Başlatan IronPacket · 26 Tem 2026 23:50 · 0 Görüntülenme · 0 Yanıtlar
Konuyu Açan #0
EventEmitter, Node.js üzerinde olay tabanlı programlama için kullanılan temel bir sınıftır. Bu sınıf, bir olayın meydana gelmesi durumunda dinleyicilere (listeners) bildirimde bulunmayı sağlar. Olay tabanlı programlama, uygulamanızın belirli olaylara tepki vermesine olanak tanır ve asenkron işlemleri yönetmek için etkili bir yol sunar.

EventEmitter kullanımı, genellikle aşağıdaki adımlarla gerçekleştirilir:

  • EventEmitter Sınıfını İçe Aktarma: Öncelikle, EventEmitter sınıfını kullanmak için 'events' modülünü içe aktarmanız gerekir.
    CODE
    12
    const EventEmitter = require('events');
    

  • Yeni Bir EventEmitter Nesnesi Oluşturma: İçe aktardığınız sınıftan bir nesne oluşturun.
    CODE
    12
    const myEmitter = new EventEmitter();
    

  • Olayları Tanımlama: Olayları dinlemek için 'on' metodunu kullanın. Bu metod, belirli bir olay meydana geldiğinde hangi işlevin çalışacağını belirler.
    CODE
    1234
    myEmitter.on('eventName', () => {
      console.log('Bir olay meydana geldi!');
    });
    

  • Olayı Tetikleme: Tanımladığınız olayı tetiklemek için 'emit' metodunu kullanın. Bu metod, olay adını alır ve dinleyicilere bildirimde bulunur.
    CODE
    12
    myEmitter.emit('eventName');
    

EventEmitter sınıfı, birden fazla dinleyici eklemeye ve olayları sıralı bir şekilde yönetmeye olanak tanır. Ayrıca, belirli bir olay için sadece bir kez dinleyici eklemek isterseniz, 'once' metodunu kullanabilirsiniz. Bu metod, olayı yalnızca bir kez dinler ve ardından otomatik olarak kaldırır.

EventEmitter, Node.js uygulamalarında kullanıcı etkileşimlerini, dosya işlemlerini veya ağ iletişimini yönetmek için yaygın olarak kullanılır. Olay tabanlı yapı, uygulamanızın daha modüler ve okunabilir olmasını sağlayarak geliştirme sürecini kolaylaştırır. EventEmitter ile ilgili daha fazla bilgi edinmek veya deneyimlerinizi paylaşmak isterseniz, lütfen düşüncelerinizi belirtin.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi