API 呼び出しを行い、の配列を返すヘルパー関数がありますitems
。これらの各アイテムはエンティティを表しますUser
。
各ユーザーには、category_id
デフォルトで null のプロパティがあります。category_id
ユーザー ID を取得し、ユーザーの属性として使用する ID を抽出できる Category オブジェクトの Observable を返す別のヘルパー関数の結果から、ユーザーごとにこのプロパティを設定したいと思います。
次の(疑似)コードに到達しました(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) が混在しているため、これは機能しません。