TIL/Node JS
on === addEventListener, new eventEmitter( ), emit ( )
by koreashowme
2019. 10. 20.
// on === addEventListener 같은 기능을 한다. (alias)
// 이벤트리스너는 여러개를 달 수도 있다.
const eventEmitter = require('events');
const myEvent = new eventEmitter(); // 생성자 for 커스텀.
myEvent.addListener('방문', () => {
console.log('방문해주셔서 감사합니다.')
})
myEvent.on('종료', () => {
console.log('안녕히 가시죠');
});
myEvent.on('종료', () => {
console.log('제발좀 가세요!!');
});
myEvent.once('특별 이벤트', ()=>{
// 한번만 실행됨.
console.log('딱 한번만 실행되요!');
});
myEvent.emit('방문');
myEvent.emit('종료');
myEvent.emit('특별 이벤트');
myEvent.emit('특별 이벤트');
myEvent.on('계속', ()=>{
console.log('계속 리스닝');
})
myEvent.removeAllListeners('계속'); // 해제됨.
myEvent.emit('계속');
const callback = () =>{
console.log('제발좀 가세요');
}
myEvent.on('종료1', () => {
console.log('안녕히가세요');
})
myEvent.removeListener('종료1', callback); // 지우고 싶은 것을 뒤에다 설정함.
myEvent.emit('종료1');
console.log(myEvent.listenerCount('종료1')); // callback으로 지웠기 때문에 1개 남음.
comment