Node.js- Ereignisse


Node.js ist perfekt für ereignisgesteuerte Anwendungen.


Ereignisse in Node.js

Jede Aktion auf einem Computer ist ein Ereignis. Etwa wenn eine Verbindung hergestellt oder eine Datei geöffnet wird.

Objekte in Node.js können Ereignisse auslösen, wie das readStream-Objekt Ereignisse beim Öffnen und Schließen einer Datei auslöst:

Beispiel

var fs = require('fs');
var rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
  console.log('The file is open');
});

Veranstaltungsmodul

Node.js verfügt über ein integriertes Modul namens „Events“, in dem Sie Ihre eigenen Ereignisse erstellen, auslösen und abhören können.

require() Verwenden Sie die Methode, um das integrierte Ereignismodul einzuschließen . Außerdem sind alle Ereigniseigenschaften und -methoden eine Instanz eines EventEmitter-Objekts. Um auf diese Eigenschaften und Methoden zugreifen zu können, erstellen Sie ein EventEmitter-Objekt:

var events = require('events');
var eventEmitter = new events.EventEmitter();

Das EventEmitter-Objekt

Mit dem EventEmitter-Objekt können Sie Ihren eigenen Ereignissen Ereignisbehandler zuweisen.

Im folgenden Beispiel haben wir eine Funktion erstellt, die ausgeführt wird, wenn ein „scream“-Ereignis ausgelöst wird.

Um ein Ereignis auszulösen, verwenden Sie die emit()Methode.

Beispiel

var events = require('events');
var eventEmitter = new events.EventEmitter();

//Create an event handler:
var myEventHandler = function () {
  console.log('I hear a scream!');
}

//Assign the event handler to an event:
eventEmitter.on('scream', myEventHandler);

//Fire the 'scream' event:
eventEmitter.emit('scream');