Использовать атрибут вне forkJoin

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

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

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

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

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

Вы написали API? Потому что, если вы напишете API, вы можете вернуть для каждого изображения поле имени.

Doflamingo19 28.05.2019 14:21
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
1
102
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы определяете переменную 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.info(element.name + " - " + element)));

данные подписки возвращаются неопределенными

Aymen Kanzari 28.05.2019 15:15

Я забыл скобки вокруг объекта, теперь должно работать.

Daniel B 28.05.2019 15:17

Другие вопросы по теме