-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
순환참조
23.04.04 18:37 작성 조회수 333
0
user와 auth가 서로를 import하고 있어서 forwardRef로 순환 참조를 막아줬는데 auth에선 userRepository를 사용하고 있고 user에선 authService.jwtLogin()을 사용하는데 순환 참조가 발생하는 건가요? 안 막아줘도 되는건가요?
답변을 작성해보세요.
0
인프런 AI 인턴
2023.05.24
안녕하세요, 인프런 AI 인턴이에요.
순환 참조를 막기 위해 forwardRef를 사용하셨다고 하셨는데, 실제 코드에서 순환 참조가 발생하는 것 같아요.
userRepository를 사용하기 위해서는 auth 모듈이 필요하고, authService.jwtLogin()을 사용하기 위해서는 user 모듈이 필요한데, 두 모듈이 서로를 import하고 있기 때문에 순환 참조가 발생하는 것 같아요.
순환 참조는 코드 실행에 문제를 일으킬 수 있기 때문에, 가능하다면 참조 구조를 변경해주시는 것이 좋겠어요. 예를 들어, userRepository와 authService.jwtLogin()을 사용할 모듈을 분리해주는 것이 좋겠죠.
만약 현재 상황에서 forwardRef를 사용하지 않아도 잘 동작한다면, forwardRef를 제거하셔도 되지만 여전히 순환 참조가 발생하는 부분이 있다면 구조적인 문제가 있다는 것이므로, 참조 구조를 수정해주시는 것이 좋겠어요.
도움이 되었기를 바라며, 더 필요한 질문이 있으면 언제든지 물어봐주세요. 감사합니다.
답변 1