13 lines
1.1 KiB
Markdown
13 lines
1.1 KiB
Markdown
@name Circular Dependency in DI
|
||
@category runtime
|
||
@videoUrl https://www.youtube.com/embed/CpLOm4o_FzM
|
||
@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.
|