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
Clic pe tag-ul HTML care afiseaza o linie orizontala.
<br> <em> <hr>Continut ...
<hr />
Alt continut sub linie ...
Care proprietate CSS defineste culoarea textului?
font-style font-variant colorh2 {
color: #cbdafb;
}
Clic pe functia care cauta daca un anume caracter sau text e intr-un sir.
indexOf() toString() split()var str = "Web courses - http://CoursesWeb.net/";
if(str.indexOf("http://") == -1) alert("http:// nu e in sir");
else alert("http:// e in sir");
Care e functia ce imparte un sir in parti de siruri intr-un array, pe baza unui separator?
array_merge() explode() implode()$str = "mar,banana,pepene,para";
$arr = explode(",", $str);
var_export($arr); // array (0=>"mar", 1=>"banana", 2=>"pepene", 3=>"para")
Indicati asocierea corecta: "luna-anotimp".
April - Autumn October - Spring July - SummerJuly is a beautiful summer month.
- Iulie este o frumoasa luna de vara.
Indicati asocierea corecta: "luna-anotimp".
Octubre - Primavera Julio - Verano Abril - OtoƱoJulio es un hermoso mes de verano.
- Iulie este o frumoasa luna de vara.