我有一个辅助函数,它进行 API 调用并返回一个items
. 这些项目中的每一个都代表一个实体,比如说一个User
.
每个用户都有一个category_id
默认为空的属性。我想从另一个辅助函数的结果中为每个用户填充此属性,该辅助函数接受用户 ID 并返回 Category 对象的 Observable,我可以从中提取 ID,用作category_id
用户的属性。
我已经达到了以下(伪)代码(TypeScript 语法,但该问题通常适用于 Observable 运算符):
this.backend
.request(
'v1/users',
)
.pipe(
map(items => {
items.forEach(user => {
this.categories.getName(user['id']).subscribe(category => {
user['category_id'] = category['id'];
});
});
return items;
})
)
自然,这不起作用,因为它将 Observable 运算符与数组函数 (forEach) 混合在一起。