Wydarzenia Node.js
Node.js jest idealny do aplikacji sterowanych zdarzeniami.
Wydarzenia w Node.js
Każda akcja na komputerze jest wydarzeniem. Podobnie jak w przypadku nawiązania połączenia lub otwarcia pliku.
Obiekty w Node.js mogą uruchamiać zdarzenia, tak jak obiekt readStream uruchamia zdarzenia podczas otwierania i zamykania pliku:
Przykład
var fs = require('fs');
var rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
console.log('The file is open');
});
Moduł wydarzeń
Node.js ma wbudowany moduł o nazwie „Zdarzenia”, w którym możesz tworzyć, odpalać i nasłuchiwać własnych zdarzeń.
Aby dołączyć wbudowany moduł Events użyj require()
metody. Ponadto wszystkie właściwości i metody zdarzeń są instancjami obiektu EventEmitter. Aby mieć dostęp do tych właściwości i metod, utwórz obiekt EventEmitter:
var events = require('events');
var eventEmitter = new events.EventEmitter();
Obiekt emitera zdarzeń
Programy obsługi zdarzeń można przypisać do własnych zdarzeń za pomocą obiektu EventEmitter.
W poniższym przykładzie stworzyliśmy funkcję, która będzie wykonywana po uruchomieniu zdarzenia „scream”.
Aby odpalić zdarzenie, użyj emit()
metody.
Przykład
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');