728x90
node.js에서는 events 모듈을 사용해 임의의 이벤트를 등록하고 호출할 수 있습니다.
const EventEmitter = require('events');
const event = new EventEmitter();
event.on('myevent', () => {
console.log('event!!');
});
event.emit('myevent');
이벤트 사용을 위해서는 우선 EventEmitter()를 통해 객체를 생성하고 해당 객체에 필요한 이벤트를 on으로 등록합니다. 이후 등록한 이벤트는 emit()으로 호출하여 실행합니다.
만약 같은 이벤트가 다시 등록되면 기존 이벤트에 추가되는 것이며
event.on('myevent', () => {
console.log('event!!');
})
.on('myevent', () => {
console.log('event@@');
});
removeAllListeners()를 통해 지정한 이벤트로 등록한 모든 이벤트를 삭제할 수 있습니다.
event.on('myevent', () => {
console.log('event!!');
})
.on('myevent', () => {
console.log('event@@');
});
event.removeAllListeners('myevent');
또한 동일한 이름으로 위에서 처럼 여러건의 이벤트가 등록되어 있을 때 등록된 이벤트의 전체 수를 파악하려면 listenerCount() 함수를 사용할 수 있습니다.
const EventEmitter = require('events');
const event = new EventEmitter();
event.on('myevent', () => {
console.log('event!!');
})
.on('myevent', () => {
console.log('event@@');
});
event.emit('myevent');
console.log(event.listenerCount('myevent'));
728x90
'Server > node.js' 카테고리의 다른 글
[node.js] http (0) | 2021.03.04 |
---|---|
[node.js] 에러 핸들링 (0) | 2021.03.03 |
[node.js] 설치 (Windows WSL2) (0) | 2021.03.03 |
[node.js] fs (파일시스템 다루기) (0) | 2021.03.03 |
[node.js] 기본모듈 (0) | 2021.03.03 |