← 목록

Node.js 이벤트 에미터의 기본 개념과 활용법

작성: 2024년 08월 17일읽기: 약 4분

Node.js에서 이벤트 에미터는 매우 중요한 부분입니다. 이것은 Node.js가 비동기적인 이벤트 기반의 프로그래밍 모델을 따르기 때문입니다. 간단히 말해서, 이벤트 에미터는 이벤트를 발생시키고, 이러한 이벤트에 반응하는 방식으로 작동합니다. 이번 글에서는 이벤트 에미터의 기본 개념과 활용법을 쉽게 설명하고자 합니다.

이벤트 에미터란 무엇인가요?

Node.js에서 이벤트 에미터는 이벤트를 생성하고, 이벤트가 발생했을 때 그에 대응하는 작업을 할 수 있게 해주는 객체입니다. 예를 들어, 웹 서버가 새로운 요청을 받을 때마다 이벤트를 발생시키고, 이에 대응하여 특정 작업을 실행할 수 있습니다.

기본 사용법

Node.js에서 이벤트 에미터를 사용하기 위해서는 먼저 events 모듈을 불러와야 합니다. 그리고 EventEmitter 클래스의 인스턴스를 생성합니다.

const EventEmitter = require('events');

class MyEmitter extends EventEmitter {}

const myEmitter = new MyEmitter();

이제 이벤트를 발생시키고, 이에 대응하는 작업을 설정할 수 있습니다.

// 이벤트 리스너 추가
myEmitter.on('event', () => {
  console.log('이벤트가 발생했습니다!');
});

// 이벤트 발생시키기
myEmitter.emit('event');

위 코드에서 myEmitter.on 메서드는 'event'라는 이름의 이벤트가 발생했을 때 실행할 콜백 함수를 등록합니다. 그리고 myEmitter.emit 메서드는 'event' 이벤트를 발생시킵니다. 이때, '이벤트가 발생했습니다!'라는 메시지가 콘솔에 출력됩니다.

이벤트와 함께 데이터 전달하기

이벤트 에미터는 이벤트와 함께 데이터를 전달할 수도 있습니다. 이는 이벤트 리스너에게 추가적인 정보를 제공하는 유용한 방법입니다.

// 이벤트 리스너 추가, 데이터와 함께
myEmitter.on('eventWithData', (a, b) => {
  console.log(a, b, a + b);
});

// 이벤트 발생시키기, 데이터와 함께
myEmitter.emit('eventWithData', 5, 10);

이 코드는 'eventWithData' 이벤트를 발생시키고, 이 이벤트와 함께 5와 10이라는 두 개의 숫자를 전달합니다. 이벤트 리스너는 이 두 숫자를 받아 그 합을 콘솔에 출력합니다.

정리

Node.js의 이벤트 에미터는 비동기 이벤트를 관리하는 강력한 방법을 제공합니다. 이벤트 기반 프로그래밍을 통해, 여러분은 코드의 실행 흐름을 보다 효율적으로 제어할 수 있게 됩니다. 이벤트 에미터를 사용함으로써, 여러분은 Node.js의 비동기적 특성을 최대한 활용할 수 있습니다.

이벤트 에미터에 대한 이해는 Node.js를 사용하는 데 있어 기본적이면서도 중요한 부분입니다. 여러분이 이 글을 통해 이벤트 에미터의 기본 개념과 활용법을 이해하고, 실제 프로젝트에 적용할 수 있기를 바랍니다.