Node.js, EventEmitter of why using it

Viewed 1725

I have a question about events.EventEmitter in Node.js, why use it? What is the difference with example 1 and example 2? I find them identical, are they? When is it practical to use it?

let events = require("events");
let util = require("util");
let eventEmitter = new events.EventEmitter();

Example 1 with the EventEmitter:

let Student = function(name) {
    this.name = name;
}

util.inherits(Student, events.EventEmitter);

let student_max = new Student('max');

student_max.on('scored', function(points) {
    if (points > 90) {
        points = points + ' wow you scored more than 90'
    }
    console.log(`${this.name} ${points} points`);
})

student_max.emit('scored',95);

Example 2 without EventEmitter

let Student2 = function(name) {
    this.name = name;
    this.score = function(str,points) {
        if (str!=='scored') {
            return;
        }
        if (points > 90) {
            points = points + ' wow you scored more than 90'
        }
        console.log(`${this.name} ${points} points`);
    }
}

let student_lenny = new Student2('Lenny');

student_lenny.score('scored',95);
1 Answers
Related