Services can depend on other services through constructor injection:
@Injectable({
providedIn: 'root'
})
export class LoggerService {
log(message: string): void {
console.log(message);
}
}
@Injectable({
providedIn: 'root'
})
export class DataService {
constructor(private logger: LoggerService) {}
getData(): any[] {
this.logger.log('Getting data...');
return [];
}
}
Important: Avoid circular dependencies where Service A depends on Service B and Service B depends on Service A.