Node.js 이해하기_이벤트 이해하기

이애옹·2022년 12월 28일
0

Node.js

목록 보기
11/32

이벤트는 on('data',콜백) 또는 on('end',콜백) 등을 통해 등록할 수도 있지만, 이벤트를 직접 만드는것도 가능하다.

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');
myEvent.emit('event2');

myEvent.once('event3', () => {
    console.log('이벤트3');
});

myEvent.emit('event3');
myEvent.emit('event3');

myEvent.on('event4', () => {
    console.log('이벤트4');
});
myEvent.removeAllListeners('event4');
myEvent.emit('event4');

const listener = () => {
    console.log('이벤트 5');
};
myEvent.on('event5',listener);
myEvent.removeListener('event5',listener);
myEvent.emit('event5');

console.log(myEvent.listenerCount('event2'));
  • 실행 결과

    이벤트1
    이벤트2
    이벤트2 추가
    이벤트3
    2

  • on(이벤트명, 콜백) : 이벤트 이름과 이벤트 발생 시의 콜백을 연결, 이벤트 리스닝이라고 한다.

  • addListener(이벤트명, 콜백) : on과 같은 기능

  • emit(이벤트명) : 이벤트를 호출하는 메서드, 이벤트 이름을 인자로 넣어주면 미리 등록해둔 이벤트가 호출된다.

  • once(이벤트명, 콜백) : 한번만 실행되는 이벤트, 연속으로 호출해도 콜백이 한번만 실행된다.

  • removeAllListeners(이벤트명) : 이벤트로 연결된 모든 이벤트 리스너를 제거한다.

  • removeListener(이벤트명, 리스너) : 이벤트에 연결된 리스너를 하나씩 제거한다.

  • off(이벤트명, 콜백) : removeListener와 같은 기능

  • listenerCount(이벤트명) : 현재 리스너가 몇 개 연결되어 있는지를 확인한다.

profile
안녕하세요

0개의 댓글