Объединить наблюдаемые, но вернуть оба

#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. Абсолютная легенда! Не могу сказать, что это было слишком интуитивно! Большое вам спасибо.