Như nhận xét ở trên, đoạn mã đó sẽ tạo Master
kế thừa từ đó EventEmitter.prototype
, vì vậy bạn có thể sử dụng các phiên bản của 'lớp' đó để phát ra và lắng nghe các sự kiện.
Ví dụ, bây giờ bạn có thể làm:
masterInstance = new Master();
masterInstance.on('an_event', function () {
console.log('an event has happened');
});
masterInstance.emit('an_event');
Cập nhật : như nhiều người dùng đã chỉ ra, cách 'tiêu chuẩn' để làm điều đó trong Node sẽ là sử dụng 'use.inherits':
var EventEmitter = require('events').EventEmitter;
util.inherits(Master, EventEmitter);
Cập nhật lần 2 : với các lớp ES6 cho chúng tôi, bạn nên mở rộng EventEmitter
lớp học ngay bây giờ:
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on('event', () => {
console.log('an event occurred!');
});
myEmitter.emit('event');
Xem https://nodejs.org/api/events.html#events_events