Providers make it possible for dependencies to have other dependencies, and they allow dependencies to be instantiated by running some code lazily when the dependency is first needed.
Issue Checklist
[ ] How provider objects and their $get methods work, and how their dependencies are injected using injector.invoke.
[ ] How the module loader API allows chaining of registration method calls by returning the module instance.
[ ] That $get methods are called lazily, only when someone needs the dependency.
[ ] How all dependencies are singletons because $get methods are called at most once and their results are the cached.
[ ] How circular dependencies are handled and circular dependency error messages constructed.
[ ] How providers can be registered as plain objects or constructor functions.
[ ] How provider constructor functions are instantiated using dependency injection.
[ ] How the two phases of dependency injection are separated inside the injector by having two dependency caches and two internal injector objects.
[ ] How the instance injector falls back to the provider injector on cache misses.
[ ] How constants are always registered first to loosen up the requirements in registration order.
Description
Providers make it possible for dependencies to have other dependencies, and they allow dependencies to be instantiated by running some code lazily when the dependency is first needed.
Issue Checklist
$get
methods work, and how their dependencies are injected usinginjector.invoke
.$get
methods are called lazily, only when someone needs the dependency.$get
methods are called at most once and their results are the cached.All issues in milestone: 0.4.0 milestone
Assignees