Orice actiune pe calculator este un eveniment. De exemplu, cand o conexiune este facuta sau un fisier este deschis, sau un buton este apasat.
Obiectele in Node.js pot emite evenimente, ca si obiectul readStream care declanseaza evenimente la deschiderea si inchiderea unui fisier.
Pentru a receptiona emiterea unui eveniment folositi metoda on().
var fs = require('fs');
var rs = fs.createReadStream('./test/file.txt');
rs.on('open', ()=>{
  console.log('The file is open');
});

Modulul Events in Node.js

Node.js are un modul incorporat, numit "events", care poate fi folosit pentru a crea, emite si urmari propriile evenimente.
Pentru a include modulul Events se foloseste metoda require(). Toate proprietatile si metodele events sunt o instanta a obiectului EventEmitter.
Pentru a accesa aceste proprietati si metode, se creaza un obiect EventEmitter. Apoi, poti sa inregistrezi evenimente si sa atribui cu obiectul EventEmitter functii executate le emiterea propriilor evenimente.
Pentru a emite un eveniment, foloseste metoda emit().
- Exemplu: Apelarea unei functii cand evenimentul "voice" este emis:
var events = require('events');
var evEm = new events.EventEmitter();

//Create a listener function
var onVoice = ()=>{
  console.log('I hear a voice');
}

//Assign the listener function to an event
evEm.on('voice', onVoice);

//Emit the 'voice' event
evEm.emit('voice');

Transmiterea argumentelor catre functia "listener"

Metoda emitter.emit() permite transmiterea de argumente catre o functie "listener" (apelata la emiterea evenimentului), dupa numele evenimentului.
var events = require('events');
var evEm = new events.EventEmitter();

//Create a listener function with 2 parameters
var onVoice = (a, b)=>{
  console.log('I hear a voice with: '+ a +' and '+ b);
}

//Assign the listener function to an event
evEm.on('voice', onVoice);

//Emit the 'voice' event, passing two arguments: 'love', 'voice'
evEm.emit('voice', 'love', 'peace');

Stergerea evenimentului

Pentru a sterge un eveniment inregistrat se foloseste metoda emitter.removeListener(eventName, listener).
var events = require('events');
var evEm = new events.EventEmitter();
let nre =0;

//Create a listener function with 2 parameters
var onVoice = (a)=>{
  console.log('I hear a voice with: '+ a);
  nre++;

  //removes onVoice listener for 'voice' event
  if(nre >=2) evEm.removeListener('voice', onVoice);
}

//Assign the listener function to an event
evEm.on('voice', onVoice);

//Emit the 'voice' event three times
evEm.emit('voice', 'love');
evEm.emit('voice', 'peace');
evEm.emit('voice', 'joy');

//Prints:
// I hear a voice with: love
// I hear a voice with: peace
- Pentru mai multe detalii despre modulul events, vezi pagina: Documentatie Node.js Events.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tip de <input> creaza o paleta de culori pentru selectare culoare?
type="text" type="color" type="date"
<input type="color" name="get_color" />
Care metoda CSS roteste elementul HTML la un anumit numar de grade?
scale() translate() rotate()
#some_id:hover {
  transform: rotate(60deg);
  -ms-transform: rotate(60deg);    /* IE 9 */
  -moz-transform: rotate(60deg);   /* Firefox */
}
Click pe functia care returneaza numarul cel mai mare.
pow() min() max()
var maxn = Math.max(8, 4, 88, 56);
alert(maxn);      // 88
Ce functie previne ca un fisier sa fie inclus mai mult de o data intr-o pagina?
include() include_once() require()
include_once("un_fisier.php");
Care este traducerea corecta pentru: "Ahead of time"?
Peste timp La timp Inainte de vreme
Most people arrived ahead of time.
- Cei mai multi oameni au sosit inainte de vreme (prea devreme).
Indicati traducerea corecta a cuvantului "buenĂ­simo"
mai bun mai putin bun extrem de bun
Este fruto es buenĂ­simo.
- Acest fruct este extrem /nemaipomenit de bun.
Node.js - Evenimente, obiectul EventEmitter

Last accessed pages

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (100417)
  2. Trecutul continuu - Exercitii si teste incepatori (5541)
  3. Curs CSS Online Tutoriale CSS3 (27173)
  4. Exercitii engleza - English Tests and exercises - Grammar (39431)
  5. Trecutul simplu si continuu - Past Tense Simple and Continuous (51166)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (2433)
  2. Curs HTML gratuit Tutoriale HTML5 (1961)
  3. Curs si Tutoriale JavaScript (1833)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (1748)
  5. Curs CSS Online Tutoriale CSS3 (1664)