Я полагаю, что в основном вам нужны данные в компоненте, когда ваш запрос на получение завершен.
Решение 1: Рассмотрите возможность сделать userDetails
в качестве наблюдаемой,.Таким образом, вы можете прослушивать его, когда значение в нем изменяется
export class UserService {
private _userDetails: Subject<any> = new Subject<any>(); // consider putting the actual type of the data you will receive
public userDetailsObs = this._userDetails.asObservable();
getUserProfile(){
return this.http.get(this.BaseURI+'/UserProfile').subscribe(
res=>{
this._userDetails.next(res)
// console.log(res);
},
err=>{
console.log(err);
}
);
}
}
Внутри вашего компонента (ов)
constructor(private _userService: UserService) {}
ngOnInit() {
this._userService.userDetailsObs.subscribe((userDetails) => {
console.log(userDetails)
})
}
Решение 2. Рассмотрите просто возврат самого наблюдаемого HTTP.
getUserProfile(){
return this.http.get(this.BaseURI+'/UserProfile');
}
Внутри ваших компонентов
constructor(private _userService: UserService) {}
ngOnInit() {
this._userService.getUserProfile.subscribe((userDetails) => {
console.log(userDetails)
})
}