const EventEmitter = require('events');
const emitter = new EventEmitter();
const callback1 = (args) => {
console.log('first callback - ', args);
};
emitter.on('ellie', callback1);
emitter.on('namlulu', (args) => {
console.log('second callback - ', args);
});
emitter.emit('namlulu', { message: 1 });
emitter.emit('namlulu', { message: 2 });
emitter.removeAllListeners();
emitter.emit('namlulu', { message: 3 });
=> node events 모듈에는 on, emit과 같은 메서드가 있으며 이를 통해 쉽게 어플리케이션 개발이 가능하다.
const EventEmitter = require('events');
class Logger extends EventEmitter {
log(callback) {
this.emit('log', 'started...');
callback();
this.emit('log', 'ended!');
}
}
module.exports.Logger = Logger;
=> 다음과 같이 상속 구조를 통해 loging 구조도 쉽게 개발이 가능하다.