Události Node.js
Node.js je ideální pro aplikace řízené událostmi.
Události v Node.js
Každá akce na počítači je událost. Jako když se vytvoří připojení nebo se otevře soubor.
Objekty v Node.js mohou spouštět události, jako například objekt readStream spouští události při otevírání a zavírání souboru:
Příklad
var fs = require('fs');
var rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
console.log('The file is open');
});
Modul událostí
Node.js má vestavěný modul nazvaný „Události“, kde můžete vytvářet, spouštět a poslouchat své vlastní události.
Chcete-li zahrnout vestavěný modul Události, použijte require()
metodu. Kromě toho jsou všechny vlastnosti a metody události instancí objektu EventEmitter. Abyste měli přístup k těmto vlastnostem a metodám, vytvořte objekt EventEmitter:
var events = require('events');
var eventEmitter = new events.EventEmitter();
Objekt EventEmitter
Pomocí objektu EventEmitter můžete ke svým vlastním událostem přiřadit obslužné rutiny událostí.
V níže uvedeném příkladu jsme vytvořili funkci, která se provede, když se spustí událost "scream".
Chcete-li spustit událost, použijte emit()
metodu.
Příklad
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');