본문 바로가기
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