我有一个列表cardsbackground
,其中包含图像的名称,要获取图像,我有一个api,该api的参数为证书编号和图像名称
我要显示与列表cardsbackground
问题是forkJoin
返回图像列表,我想为每个图像显示其名称
当我想在subscribe
中显示名称时,它什么也不显示
forkJoin(
this.cardsBackground.map(
(name, index) => this.cardBackgroundService.getImage(certificateNumber, name)
)
).subscribe(
data => data.forEach(element => console.log(name + " - " + element))
);
答案 0 :(得分:2)
您可以在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)));