У меня есть следующая функция в машинописи:
getConfigurations() {
let sessionConfig = sessionStorage.getItem('config');
if(config)
return of(sessionConfig);
else {
this.dataService.getRoute('configurations').subscribe(
route => this.http.get<any[]>(route.ToString()).subscribe(
result => {
sessionStorage.setItem('config', result);
return of(result);
},
error => {
alert(error);
}),
error => {
alert(error);
}
);
}
}
Функция должна вернуть строку, если ключ sessionStorage уже существует, или использовать dataService, чтобы получить значение из серверной части, а затем установить значение всессия.Я бы тоже хотел вернуть значение, установленное в sessionStorage (результат), но я не смог найти способ сделать это.
Функция getRoute из dataService:
getRoute(service: string){
return this.http.get('urlToMyBackendWebApi');
}
Где http - Angular HttpClient.
Как я могу получить значение, возвращаемое из getConfigurations ()?
Я пытался подписаться на getConfigurations.У меня нет проблем с условием if (возвращается строка sessionConfig), но как получить результат из условия else?Должен ли я вернуть наблюдаемую часть целиком?В таком случае, как я мог прочитать ответ?