인프런 커뮤니티 질문&답변

최석우님의 프로필 이미지
최석우

작성한 질문수

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

implements, injectable(DI) 알아보기

의존성 주입시 객체가 반복적으로 생성될 수 있다고 했는데 해결방법이 어떻게 되는건가요?

해결된 질문

작성

·

296

0

강의 내용중 어떤것들은 DI 때마다 객체가 생성될수가 있고
그럴 경우 웹소캣 객체같은 경우 문제가 생길수 있다고 하셧는데

Nest 에서 그것을 해결하기 위해 자동으로 Module 단에서 Provider에 추가시 자동으로 객체를 하나만 만든후 재사용하여 (싱글톤과 유사하게 작동) 등을 통해 해결을 해주는것인지
아니면 직접 해당 Class에서 싱글톤으로 생성을 해줘야 하는건지 궁금합니다.

답변 1

2

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

모듈로 만들어서 넣으면 그 모듈은 싱글톤이 되고, 모듈 없이 provider로만 해서 넣으면 provider는 각 모듈에서 새롭게 생성됩니다. 그래서 eventsModule을 넣고 eventsGateway는 넣지 말라고 한 것입니다.

기본 동작을 바꿀 수도 있습니다. 예를 들어 요청이 올 때마다 새로운 객체를 생성한다든지 같은 것으로요. 관련 문서는 https://docs.nestjs.com/fundamentals/injection-scopes 입니다.

최석우님의 프로필 이미지
최석우

작성한 질문수

질문하기