Быстрый ответ: нет - объединение будет выдавать значение только после того, как все наблюдаемые издадут хотя бы один раз. В вашем случае вы можете использовать:
http.get('/my-url-for-id').pipe(
flatMap(response => this.http.post('/some-other-url', response.id))
)
, второй http GET
будет выполнен после первого.
Если вы хотите вернуть оба результата первого вызова И второйВо-первых, вы действительно можете использовать combineLatest
, например:
this.http.get('/id').pipe(
flatMap(response => combineLatest(
[
of(response.id),
this.http.post('/some-other-url', response.id)
]
)
)
Полученная наблюдаемая будет иметь тип Observable<[string, {}]>
, где {}
- это тип второго post
запроса