Node.js- evenementen


Node.js is perfect voor gebeurtenisgestuurde toepassingen.


Evenementen in Node.js

Elke actie op een computer is een gebeurtenis. Zoals wanneer een verbinding wordt gemaakt of een bestand wordt geopend.

Objecten in Node.js kunnen gebeurtenissen activeren, zoals het readStream-object gebeurtenissen activeert bij het openen en sluiten van een bestand:

Voorbeeld

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

Evenementenmodule

Node.js heeft een ingebouwde module, genaamd "Events", waar je je eigen evenementen kunt maken, activeren en beluisteren.

require() Gebruik de methode om de ingebouwde module Gebeurtenissen op te nemen. Bovendien zijn alle gebeurteniseigenschappen en -methoden een instantie van een EventEmitter-object. Maak een EventEmitter-object om toegang te krijgen tot deze eigenschappen en methoden:

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

Het EventEmitter-object

U kunt gebeurtenishandlers aan uw eigen gebeurtenissen toewijzen met het EventEmitter-object.

In het onderstaande voorbeeld hebben we een functie gemaakt die wordt uitgevoerd wanneer een "scream" -gebeurtenis wordt geactiveerd.

Gebruik de emit()methode om een ​​gebeurtenis te activeren.

Voorbeeld

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