Node.js에선 Event라는 모듈을 많이 사용하기 때문에 꼭 공부를 해야 된다. 그래서
공부 한 내용을 정리 해 볼려고 합니다.
event는 보통 서버가 initialize(설정)를 하고 되고 어떠한 조건이 발생 되였었을때 출력 되는 기능 입니다.
따라서 개발자가 구현을 하고 해당 조건이 발동 되지 않는 이상은 잠재적으로 발생 할 수 있는 기능
이라고 보면 됩니다.
쉽게 말하면 다가오는 생일의 축하 선물 같은 의미로 보면 될 것 같네요.
events에서 사용 할 수 있는 객체의 메소드는 아래와 같아요.
**event :발동조건
**listener: 발동 모듈
addListener(event, listener): 이벤트를 생성하는 메소드 입니다.
on(event, listener): addListener와 같아요
once(event,listener) : 해당 이벤트는 한번만 실행 후 발동 되지 않습니다.
removeListener(event, listener): 특정 이벤트의 특정 이벤트 핸들러를 제거 해요.
** 위에 메소드를 실행 시 해당 인덱스들이 초기화가 되니까 이 모듈을 사용 할때는
생각하고 사용 해야 됩니다.
removeAllListener([event]): 모든 이벤트가 없어 집니다.
off([event]): removeAllListener와 같아요
setMaxListeners(n):n으로 한 이벤트에 최대 허용을 개발자가 설정 할 수 있습니다. 기본적으로 10번의 이벤트를 작동이 되는데 개발자가 11번의 이벤트를 발생 하고 싶을 경우네는 n을 11로 지정 하여 11번 이상의 이벹르를 발생 할 수 있습니다. 만일 무한으로 이벤트를 발생 하고 싶다면 0으로 지정하여 숫자의 지정을 없애면 됩니다.
emit(evenetName[, …args]): 이벤트를 발생하도록 하는 모듈 입니다.
listenerCounter (evenetName):해당 eventName에 연결 되어 있는지 확인
var EventEmitter = require('events'); // 모듈 사용
var custom_event = new EventEmitter(); // 객체 생성
custom_event.on('call', function() { // 이벤트 등록
console.log('이벤트 콜');
});
custom_event.emit('call'); // 이벤트 강제 발생
var EventEmitter = require('events');
var custom_event = new EventEmitter();
custom_event.on('call', function() {
console.log('이벤트 콜');
});
custom_event.removeAllListeners();
custom_event.emit('call');