Как вернуть Observable с агрегированным результатом других Observable?

В Angular можно получить Observable с агрегированным результатом других Observable с помощью оператора combineLatest. Оператор combineLatest комбинирует последние значения, полученные от каждого Observable и возвращает новый Observable с результатами.

Чтобы использовать combineLatest, необходимо импортировать его из библиотеки rxjs/operators. Затем, вы можете вызвать combineLatest передав ему массив Observable, из которых нужно получить результаты.

import { combineLatest } from 'rxjs/operators';
import { Observable } from 'rxjs';

// пример-демонстрация
const observable1: Observable<number> = ...; // первый Observable
const observable2: Observable<number> = ...; // второй Observable
const observable3: Observable<number> = ...; // третий Observable

const combinedObservable: Observable<number[]> = combineLatest([observable1, observable2, observable3]);

combinedObservable.subscribe((result: number[]) => {
  console.log(result); // агрегированный результат
});

В этом примере переменные observable1, observable2 и observable3 являются исходными Observable, результаты которых вы хотите агрегировать. combineLatest принимает массив из этих Observable и возвращает новый Observable combinedObservable, в котором значения каждого Observable комбинируются в массив.

combinedObservable будет излучать новый массив значений каждый раз, когда хотя бы один из исходных Observable излучит новое значение. В этом примере, когда каждый из Observable излучает новое значение, результат комбинации обновляется, и новый массив значений передается в колбэк subscribe.

Таким образом, вы сможете получить агрегированный результат от всех исходных Observable с помощью оператора combineLatest в Angular.