У меня есть вспомогательная функция, которая выполняет вызов API и возвращает массив items
.Каждый из этих элементов представляет сущность, скажем, User
.
У каждого пользователя есть свойство category_id
, которое по умолчанию является нулевым.Я хотел бы заполнить это свойство для каждого пользователя из результата другой вспомогательной функции, которая принимает идентификатор пользователя и возвращает объект Observable объекта Category, из которого я могу извлечь идентификатор, который будет использоваться в качестве атрибута category_id
пользователь.
Я достиг следующего (псевдо) кода (синтаксис TypeScript, но вопрос применим к наблюдаемым операторам в целом):
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;
})
)
Естественно, это не такработать, потому что он смешивает наблюдаемые операторы с функциями массива (forEach).