【发布时间】:2017-12-08 07:01:56
【问题描述】:
我对 Node.js 中的 events.EventEmitter 有疑问,为什么要使用它?示例 1 和示例 2 有什么区别?我发现它们是一样的,是吗?什么时候可以使用?
let events = require("events");
let util = require("util");
let eventEmitter = new events.EventEmitter();
示例 1 与 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);
没有EventEmitter的示例2
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);
【问题讨论】:
标签: node.js eventemitter