javascript / expert
Snippet
Contextual Dependency Injection in Functional Factories
By utilizing the inject() function within functional factories, developers can resolve dependencies outside of traditional class constructors. This promotes a more functional architecture while maintaining access to Angular's hierarchical injection system.
snippet.js
1
2
3
4
5
6
7
8
9
export function createDataStream() {const config = inject(APP_CONFIG);const logger = inject(LoggerService, { optional: true });return new Observable(subscriber => {logger?.log('Stream started');subscriber.next(config.endpoint);});}
angular
Breakdown
1
const config = inject(APP_CONFIG);
Resolves a configuration token from the current injection context.
2
inject(LoggerService, { optional: true });
Safely attempts to retrieve a service, returning null if not found.