12 lines
1.0 KiB
Markdown
12 lines
1.0 KiB
Markdown
|
@name Circular Dependency in DI
|
|||
|
@category runtime
|
|||
|
@shortDescription Circular dependency in DI detected while instantiating a provider
|
|||
|
|
|||
|
@description
|
|||
|
A cyclic dependency exists when a [dependency of a service](https://angular.io/guide/hierarchical-dependency-injection) directly or indirectly depends on the service itself. For example, if `UserService` depends on `EmployeeService`, which also depends on `UserService`. Angular will have to instantiate `EmployeeService` to create `UserService`, which depends on `UserService`, itself.
|
|||
|
|
|||
|
@debugging
|
|||
|
Use the call stack to determine where the cyclical dependency exists. You will be able to see if any child dependencies rely on the original file by [mapping out](https://angular.io/guide/dependency-injection-in-action) the component, module, or service’s dependencies and identify the loop causing the problem.
|
|||
|
|
|||
|
Break this loop (or circle) of dependency to resolve this error. This most commonly means removing or refactoring the dependencies to not be reliant on one another.
|