#angular #rxjs #observable
#angular #rxjs #наблюдаемый
Вопрос:
Я хотел бы объединить две наблюдаемые, причем для второй требуется результат первой.
Достаточно просто:
const booking$ = this.service.getBooking$(bookingId);
const result$ = booking$.pipe(mergeMap(booking => this.service.getMoreData$(booking.someField))
Однако возвращаемый тип результата $ является только результатом «getMoreData$».
Как мне вернуть оба booking $ и getMoreData $? Существует ли конкретный оператор?
Комментарии:
1. Просто
pipe
внутреннюю наблюдаемую, затемmap
ее через(moreData) => ({ moreData, booking })
. Таким образом, подписчики получают объект, содержащий бронирование и дополнительные данные.2. Абсолютная легенда! Не могу сказать, что это было слишком интуитивно! Большое вам спасибо.