본문 바로가기
Q&A해결2026년 8월 16일1분 읽기

EventEmitter 리스너를 async로 만들었더니 에러가 조용히 사라지고 서버가 죽기도 합니다

e
emitter_kyungmin
조회 214댓글 2

주문 생성되면 후처리(알림 발송, 통계 갱신 등)를 이벤트로 느슨하게 붙이려고 EventEmitter를 쓰고 있어요. 리스너 안에서 await 할 게 있어서 async 함수로 등록했습니다.

orderEvents.on('created', async (order) => {
  await sendNotification(order)  // 여기서 reject되면?
  await updateStats(order)
})
orderEvents.emit('created', order)

문제는 리스너 안에서 에러가 나면 어떤 땐 그냥 조용히 묻혀서 알림이 안 갔는데도 아무 로그가 없고, 어떤 땐 unhandledRejection으로 프로세스가 죽습니다. emit 하는 쪽에서 try/catch로 감싸도 안 잡히고요. 이벤트 기반으로 짜면 안 되는 건가요?

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록