Объединить наблюдаемые с последним из любого и предыдущее значение других наблюдаемых - PullRequest
0 голосов
/ 06 ноября 2018

Допустим, у меня есть наблюдаемые A, B, C. Я должен выслушать изменение этих трех и изменить расчет.

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

Я пытался использовать combLatest, который был идеальным, за исключением первого поведения, когда все наблюдаемые должны иметь последнее / изменение значения.

1 Ответ

0 голосов
/ 06 ноября 2018

Вы можете просто поставить префикс каждого наблюдаемого источника с помощью оператора startWith, прежде чем передавать их в combineLatest:

combineLatest(
  obsA$.pipe(startWith(null)),
  obsB$.pipe(startWith(null)),
  obsC$.pipe(startWith(null)),
)

Затем вам нужно будет вручную проверить, какие значения null.

...