Объединяет несколько Observable для создания Observable, значения которого вычисляются из последних значений каждого из его входных Observable. Каждый раз, когда какой-либо входной наблюдаемый выдает значение, он вычисляет формулу, используя самые последние значения из всех входов, а затем выдает результат этой формулы .

combLatest объединяет значения из всех наблюдаемых, переданных в качестве аргументов. Это происходит путем подписки на каждый Observable по порядку и, когда любой Observable излучает, сбора массива самых последних значений от каждого Observable. Таким образом, если мы передаем наблюдаемый объект оператору combLatest, возвращаемый объект Observable всегда будет испускать массив значений «n» в порядке, соответствующем порядку переданных Observable (значение из первого Observable на первом месте и т. Д.).

  • Передача пустого массива приведет к немедленному завершению Observable.
  • Если ошибка возникает из одного наблюдаемого объекта, combLatest выдает ошибку и завершается.
  • Выдает значения, если испускает хотя бы один наблюдаемый вход.

Ниже приведен простой фрагмент кода, реализующий оператор combLatest.

const ob1$ = interval( 1000 ).pipe(take( 4 ));
const ob2$ = of( 5 , 6 , 7 , 8 );
const ob3$ = timer( 1000 , 1000 ).pipe(take( 4 ));
combineLatest(ob1$, ob2$, ob3$).subscribe(val => console.log(val));

Здесь мы берем 3 разных исходных наблюдаемых и используем оператор combLatest, чтобы объединить их все, и, наконец, мы печатаем результат. Результат для приведенного выше кода приведен ниже.

// [0, 8, 0]
// [1, 8, 0]
// [1, 8, 1]
// [2, 8, 1]
// [2, 8, 2]
// [3, 8, 2]
// [3, 8, 3]

Это все, что вам нужно знать об операторе combLatest, чтобы начать работу.