• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

안녕하세요 강의를 따라가던 중 한 번의 이벤트임에도 두 번이 발생합니다.

23.02.24 22:53 작성 조회수 323

1

event two times.png위에 이미지처럼 클라이언트에서 emit을 발생시켰을 때 서버에서 2번이 찍히고, username을 클라이언트로 전달해줄 때도, 클라이언트에서 2번이 찍힙니다. afterInit()함수 내부의 로거도 두번 작동하는데 왜 이럴까요?

답변 1

답변을 작성해보세요.

3

안녕하세요 :) 수강중인 사람중 한명입니다.

저도 동일한 현상을 발견해서 트러블 슈팅을 했는데 제가 해결한 방법을 공유 드리고자 댓글 남깁니다.

제가 발견한 원인과 해결 방법은 다음과 같습니다.

  • 원인: 여러 모듈의 providers 에 해당 게이트웨이 클래스를 선언.

  • 해결 방법: 해당 게이트웨이 클래스를 chats.models.ts 의 providers 에만 선언. 다른 providers에는 삭제.

     

    제가 참고한 블로그는 다음과 같습니다.

  • https://jay-ji.tistory.com/106

     

    결국 nestjs 가 지원하는 싱글톤 인스턴스의 범위때문에 발생한것으로 파악했습니다.

TTAE TTAE님의 프로필

TTAE TTAE

질문자

2023.03.15

아 정말 감사합니다 nest generator를 통해 chatservice를 생성해서 자동으로 Appmodule에 주입이 되어있었습니다!