从这个问题可以看出,我对Node.js很新。如果这样的问题不适合这个论坛,我会道歉并要求你指导我到一个更好的地方。
我正在观看Lynda的一些培训课程,我们正在报道EventEmitter。在下面的代码中,我们必须向Person对象添加一个事件。我的问题是,为什么要以这种方式添加此事件而不是从一开始就向Person对象添加一个名为speak的函数?非常感谢你!
var EventEmitter = require('events').EventEmitter;
var util = require('util');
var Person = function(name) {
this.name = name;
};
util.inherits(Person, EventEmitter);
var ben = new Person("Ben Franklin");
ben.on('speak', function(said) {
console.log(`${this.name}: ${said}`);
});
ben.emit('speak', "You may delay, but time will not.");
答案 0 :(得分:1)
EventEmitter会很有帮助。它们可能是由您无法控制的异步操作引起的。例如,数据库断开连接。
在这个例子中,事件是Ben说的东西。你无法控制Ben。
您可以通过定义一个侦听器来响应他的事件 - 一个在所述事件发生时执行的函数。