Nodejs Course

Every action on a computer is an event. Like when a connection is made or a file is opened, or a button is pressed.
Objects in Node.js can emit events, like the readStream object fires events when opening and closing a file.
To listen an event, use the on() method.
var fs = require('fs');
var rs = fs.createReadStream('./test/file.txt');
rs.on('open', ()=>{
  console.log('The file is open');
});

Events Module in Node.js

Node.js has a built-in module, called "events", that can be used to create, emit, and listen for your own events.
To include the Events module use the require() method. All event properties and methods are an instance of an EventEmitter object.
To access these properties and methods, create an EventEmitter object. Then, you can register events and assign listeners to your own events with the EventEmitter object.
To emit an event, use the emit() method.
- Example: Calling a funtion when the "voice" event is emited:
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');

Passing arguments to the listener function

The emitter.emit() method allows to pass arguments to the listener functions, after the event name.
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');

Removing event listener

To remove a registered event use the emitter.removeListener(eventName, listener) method, .
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
- For more details about events module, see the Events Node.js Documentation page.

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which attribute is used in <a> tag for the address of the link?
src href rel
<a href="http://coursesweb.net/" title="CoursesWeb.net">CoursesWeb.net</a>
Which CSS property sets the type of the text font?
font-family text-decoration font-size
h2 {
  font-family:"Calibri",sans-serif;
}
What instruction selects all the <div> tags with class="cls"?
querySelector("div.cls") getElementsByTagName("div") querySelectorAll("div.cls")
var elm_list = document.querySelectorAll("div.cls");
var nr_elms = elm_list.length;       // number of selected items
alert(nr_elms);
Indicate the function that can be used to get the sum of values in an array.
array_sum() array_diff() array_shift()
$arr =[1, 2, 3, 4);
$arr_sum = array_sum($arr);
echo $arr_sum;       // 10
Events, EventEmitter object

Last accessed pages

  1. Functions, Variable scope and Passing by Reference (1750)
  2. Multiple Select Dropdown List with AJAX (17158)
  3. Add data from form in text file in JSON format (12407)
  4. The Mastery of Love (3943)
  5. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (108215)

Popular pages this month

  1. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (735)
  2. querySelector and querySelectorAll (405)
  3. Read Excel file data in PHP - PhpExcelReader (359)
  4. PHP-MySQL free course, online tutorials PHP MySQL code (348)
  5. JavaScript Course - Free lessons (272)