@malayamarisha

Как объединить запросы к одному сервису, но к разным методам?

Всем привет.
Необходимо вывести информацию со стороннего ресурса.
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)
          })
        }
      })
    })
  • Вопрос задан
  • 16 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы