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