Как выполнить функцию первой в combineLatest?

Для выполнения функции первой в combineLatest, можно использовать оператор pipe из библиотеки rxjs/operators и операторы map и filter. Вот подробный пример:

1. Загрузите необходимые модули:

import { combineLatest, Observable } from 'rxjs';
import { map, filter } from 'rxjs/operators';

2. Создайте необходимые Observable:

const source1$: Observable<number> = ...; // ваш первый Observable
const source2$: Observable<number> = ...; // ваш второй Observable

const combined$: Observable<number[]> = combineLatest([source1$, source2$]);

3. Определите функцию, которую вы хотите выполнить первой:

function myFunction(args: number[]): void {
  // ваш код, который нужно выполнить первым
}

4. Используйте pipe и операторы map и filter для выполнения вашей функции первой:

combined$
  .pipe(
    filter(([_, index]) => index === 0), // фильтр, чтобы выполнить функцию только при первом изменении значений
    map(([values]) => values) // преобразование значения в `args` для вашей функции
  )
  .subscribe(myFunction);

В этом примере combineLatest объединяет значения из source1$ и source2$ в массиве значений [number, number]. Мы используем оператор filter, чтобы выполнить функцию только при первом изменении значений (index === 0), а затем с помощью оператора map преобразуем массив значений в аргументы для нашей функции myFunction. Результаты подписываются на subscribe, который вызовет вашу функцию myFunction с соответствующими аргументами.

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