Всем привет.
Необходимо вывести информацию со стороннего ресурса.
1) есть компонент, в котором происходит обращение к сервису
2) в сервисе есть разные методы (getByIdPlanet, getByResident)
3) в компоненте делаю обращение к сервису методу getByIdPlanet
4) в компоненте получаю необходимую информацию
5) на основании данной информации тут же делаю обращение к сервису с getByResident (тк сначала нужно получить информацию о планете, в которой есть список жителей в виде ссылок на сторонний ресурс, поэтому снова обращаюсь к сервису, но к другому методу getByResident)
Подозреваю, что так делать не правильно, но как сделать цепочку взаимодействия? Подскажите, пожалуйста.
Пример:
this.planetParam = this.route.params.subscribe((params: Params) => {
this.planetId = params['name']
this.dataHandlerService.getByIdPlanet(this.planetId).subscribe(planet => {
this.planetInfo = Object.entries(planet)
.filter(([key]) => key !== 'residents' && key !== 'films')
.map(([key, value]) => [key.replace('_', ' '), value])
// получение информации о каждом резиденте
for (const residentUrl of planet.residents) {
this.residentUrl = residentUrl
this.dataHandlerService.getByResident(this.residentUrl).subscribe(resident => {
this.planetResidents.push(resident)
})
}
})
})