events 모듈을 사용하여 MyEvent라는 객체를 만들었고 객체에는 이벤트 관리를 위한 메서드들이 있다.
- on(이벤트명, 콜백): 이벤트 이름과 이벤트 발생 시 의 콜백을 연결해줌 - 이벤트 리스닝
- addListener(이벤트명, 콜백): on과 기능이 같음
- emit(이벤트명): 이벤트를 호출
- once(이벤트명, 콜백): 한 번만 실행되는 이벤트
- removeAllListeners('이벤트명'): 연결된 모든 이벤트 리스너를 제거
- removeListener(이벤트명, 리스너): 연결된 리스너를 하나씩 제거
- off(이벤트, 콜백): removeListener과 기능이 같다.
- listenerCount(이벤트명): 연결된 리스너 개수 확인
예시코드)
const EventEmitter = require('events');
const myEvent = new EventEmitter();
myEvent.addListener('event1', () => {
console.log('이벤트 1');
});
myEvent.on('event2', ()=> {
console.log('이벤트 2');
}
myEvent.on('event2', ()=> {
console.log('이벤트 2 추가');
});
myEvent.emit('event1');//이벤트 1 출력
myEvent.emit('event2');//이벤트 2
//이벤트 2 추가 출력
myEvent.once('event3', () => {
console.log('이벤트 3');
});
myEvent.emit('event3');//이벤트 3 출력
myEvent.emit('event3');//무시당함
myEvent.on('event4', ()=> {
cdonsole.log('이벤트 4');
});
myEvent.removeAllListeners('event4');
myEvent.emit('event4');//이벤트가 삭제되어 아무 이벤트도 일어나지 않음
const listener = ()=> {
console.log('이벤트 5');
};
myEvent.on('event5', listener);
myEvent.removeListener('event5', listener);
myEvent.emit('event5');//위와 같이 삭제되어 이벤트 x
console.log(myEvent.listenerCount('event2'));//2 출력
'Javascript > Node.js' 카테고리의 다른 글
Rest API와 라우팅 (0) | 2019.11.06 |
---|---|
쿠키와 세션 이해하기 (0) | 2019.10.22 |
요청과 응답 이해하기(서버구현) (0) | 2019.10.19 |
버퍼와 스트림 이해하기 (0) | 2019.10.17 |
파일 시스템 접근하기 (0) | 2019.10.10 |
댓글