Event Module란

박상욱·2023년 2월 1일
0

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에 연결 되어 있는지 확인

example

  • 이벤트 생성
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');

[NODE] 📚 Event 모듈 (이벤트 제어)

profile
Simple_Life

0개의 댓글