использовать атрибут снаружи от forkJoin - PullRequest
0 голосов
/ 28 мая 2019

У меня есть список cardsbackground, который содержит название изображений, чтобы получить изображения, у меня есть API, который имеет в качестве параметров номер сертификата и имя изображения

Я хочу отобразить изображения, которые соответствуют именамкоторые находятся в списке cardsbackground

Проблема в том, что forkJoin возвращает список изображений, и я хочу отображать для каждого изображения его имя

Когда я хочу отобразить имя внутриsubscribe, ничего не отображается

forkJoin(
    this.cardsBackground.map(
        (name, index) => this.cardBackgroundService.getImage(certificateNumber, name)
    )
).subscribe(
    data => data.forEach(element => console.log(name + " - " + element))
);

1 Ответ

2 голосов
/ 28 мая 2019

Вы определяете переменную name в области действия вашей функции map, что делает ее недоступной в области действия подписки.

Самый простой способ - передать служебный вызов и вернуть новый объекти с именем, и с результатом, который будет доступен позже.

forkJoin(
    this.cardsBackground.map(
      (name, index) => this.cardBackgroundService.getImage(certificateNumber, name).pipe(
        map(image => ({
          name: name,
          image: image
        }))
      )
    )
).subscribe(data => data.forEach(element => console.log(element.name + " - " + element)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...