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');