Итак, у меня есть Observable, который испускает массив элементов.
Я хочу сопоставить каждый из элементов с пользовательским объектом, но одно из полей объекта снова выбирается асинхронно через Observables.
Это то, что я имею до сих пор:
const resultingObs = arrayObs
.flatMap(x => x); // map array to a stream of items
.mergeMap(item => asyncFetch(item.id)); // get async data from another stream
Это работает хорошо, так как сопоставляет каждый элемент с извлеченными данными, чего я пытался достичь.
Однако я хотел бы закончить слияниемMap с пользовательским объектом, что-то вроде этого:
[{item: item, fetchedData: fetchedData}, {item: item, fetchedData: fetchedData}]
вместо
[fetchedData, fetchedData, fetchedData]
Поэтому мне нужно что-то вроде map и mergeMap в одном и том же операторе, если это имеет смысл.
Спасибо