【发布时间】:2021-06-07 14:30:09
【问题描述】:
我有一个返回类似这样的请求 get('/产品列表)
[
{
product_id: 1,
description: 'product 1',
color_id: 1
},
{
product_id: 2,
description: 'product 2',
color_id: 2
},
...
]
要获取 de color_id 信息,我必须执行另一个请求,例如 get('color/1')
我想获得类似的东西
{
product_id: 1,
description: 'product 1',
color_id: 1,
color_detail: {object_with_full_color_detail}
},
我可以通过以下方式获得它:
this.getProductList().subscribe(productList => {
const detailsObservables = productList.map(product => {
return this.getColorDetail(product.color_id);
});
forkJoin(colorObservables).subscribe(colorDetailResponses) {
const productListWithColorInfo = productList.map((product, index) => {
return {...product, color_info: colorDetailResponses[index]};
});
}
});
我尝试使用 mergeMap 在单个进程中解决此问题,但我无法对 productList 中的每个项目执行内部请求。
有解决这个问题的办法吗?
提前致谢
【问题讨论】:
标签: javascript http rxjs