officeView.component.ts
setSelectedPerson(id:number)
{
this.pservice.getPerson(id);
localStorage.setItem("selectedPerson", JSON.stringify(this.pservice.person));
}
person.service.ts
getPerson(id:number)
{
this.http.get(personUrl + id).subscribe(response => this.person = response )
}
person:Person;
Я выполняю метод setSelectedPerson из OfficeViewComponent и вот что я надеюсь на это:
Я прошу PersonService извлечь данные из API и назначить их переменной - PersonService.person;
Теперь, когда ответ назначен переменной «Служебный», я ожидаю, что он будет преобразован в строку и сохранен в localStorage.
Но вот что на самом деле происходит:
Я прошу PersonService извлечь данные, PersonService реагирует и продолжает запрос, но к тому времени, когда PersonService.getPerson () завершится, localStorage уже попытался собрать данные из PersonService.person, который - в то время - был назначен.
Я знаю, что есть способ подождать, пока сервисный метод не завершит свою работу, но я не знаю точно, что мне следует использовать.