Есть следующая структура :

Но я не понимаю, как получить ошибку в сервисе UserService, обработать в ErrorService, и получить результат в компоненте.
А если нет ошибки то отправить observable в компонент, чтобы подписаться там на него и получить данные. Или даже отправлять в компонент сразу данные, но как тогда сделать это асинхронно?
MyHttpService.ts
export class MyHttpService {
constructor(private http: Http) {}
getData(url: string): Observable<any> {
return this.http.get(url);
}
}
UserService.ts
export class UserService{
constructor(private http: MyHttpService) {}
getUsers(){
return this.http.getData('http://getUsers.com');
}
}
Пробовал делать через .switchMap но что-то безуспешно, данные в компонент не прилетают, или я делаю что-то не так?
getUsers(){
return this.http.getData('http://getUsers.com')..switchMap(
(response): any => {
200 === response.status ? Observable.of(this.sta) : console.log('222');
};
}