두 클래스가 서로에게 의존할 때 발생되는 문제
- 모듈 과 provider 간에 발생할 수 있음
- forward referencing을 사용하는 방법
forwardRef()
함수를 통해 정의되지 않은 클래스에 접근 가능
@Inject()
와 forwardRef()
를 사용하여 순환 종속성을 해결
- 인스턴스화 순서는 불확정적이므로 코드가 어느 생성자가 먼저 호출되는지에 의존하지 않아야 함
- ModuleRef 클래스를 사용하여 DI 컨테이너에서 provider 인스턴스를 검색하는 방법
- module 에서
forwardRef()
를 사용해 참조