Welche der folgenden ist eine EventEmitter-Funktion, die verwendet wird, um einen Listener für ein benanntes Ereignis zu registrieren?

Verwendung der EventEmitter-Funktion event.on()

Die Frage bezieht sich auf die Funktionalität des EventEmitter-Objekts in Node.js. Die korrekte Antwort lautet event.on(). Diese Methode wird verwendet, um einen Listener für ein bestimmtes, benanntes Ereignis zu registrieren.

Die event.on()-Funktion hat zwei Parameter:

  1. event: Der Name des Ereignisses, auf das Sie hören möchten.
  2. listener: Eine Callback-Funktion, die ausgeführt wird, wenn das Ereignis ausgelöst wird.

Hier ist ein einfaches Beispiel für seine Anwendung:

const EventEmitter = require('events');
const myEmitter = new EventEmitter();

// Ein Listener registrieren
myEmitter.on('sayHello', () => {
  console.log('Hallo Welt!');
});

// Das 'sayHello' Ereignis auslösen
myEmitter.emit('sayHello');

In diesem Code erzeugen wir zunächst eine neue Instanz von EventEmitter und registrieren dann einen Listener für das Ereignis sayHello, das eine Funktion ausführt, die Hallo Welt! auf der Konsole ausgibt. Schließlich lösen wir das sayHello Ereignis aus mit myEmitter.emit('sayHello');, und die konfigurierte Funktion wird ausgeführt.

Es ist wichtig zu beachten, dass Node.js Ereignisse synchron verarbeitet. Das bedeutet, dass ein Ereignis vollständig verarbeitet wird, bevor das nächste Ereignis behandelt wird. Dies ist eine grundlegende Eigenschaft von Node.js und unterscheidet es von anderen JavaScript-Umgebungen, die Ereignisse oft asynchron verarbeiten.

Zu den Best Practices gehört es, darauf zu achten, nicht zu viele Listener für ein bestimmtes Ereignis zu registrieren, um Speicherlecks zu vermeiden. Standardmäßig erzeugt Node.js eine Warnung, wenn mehr als 10 Listener für ein bestimmtes Ereignis registriert sind. Dieser Wert kann mit der Methode emitter.setMaxListeners(n) angepasst werden.

Die event.on()-Methode ist eine Kernfunktion der Node.js Event-Driven-Architektur und ermöglicht die Entwicklung von hochskalierbaren Anwendungen. Sie ermöglicht es Entwicklern, bestimmte Aktionen auszuführen, wenn spezifische Ereignisse auftreten, was zu einem effizienten und reaktiven Code führt.

Finden Sie das nützlich?