javascript / intermediate
Snippet
Dynamische Dependency Injection mit useFactory
Der useFactory-Provider ermöglicht es, eine Abhängigkeit dynamisch basierend auf anderen Services oder Laufzeitbedingungen zu erstellen. Er ist ideal für komplexe Instanziierungslogik, die Parameter von anderen Providern benötigt.
snippet.js
1
2
3
4
5
6
7
export const APP_LOGGER_PROVIDER = {provide: Logger,useFactory: (config: ConfigService) => {return config.isDev ? new ConsoleLogger() : new FileLogger();},deps: [ConfigService]};
angular
Erklärung
1
useFactory: (config: ConfigService) => { ... }
Eine Funktion, die basierend auf dem Config-Service die gewünschte Implementierung zurückgibt.
2
deps: [ConfigService]
Gibt die Abhängigkeiten an, die als Argumente in die Factory-Funktion injiziert werden sollen.