Rx JS Dynami c источник наблюдаемых - PullRequest
2 голосов
/ 26 января 2020

Я хочу создать Наблюдаемую из множества наблюдаемых (объединить их). Этого можно достичь с помощью merge(...arrayOfObservables). Проблема в том, что через некоторое время этот массив будет изменен, и наблюдаемое должно подписаться и на новые наблюдаемые.

1 Ответ

2 голосов
/ 26 января 2020

Вы можете добавить sh новых Observables в массив, а затем создать массив и подписаться на них с помощью switchMap.

import { of, merge, BehaviorSubject } from 'rxjs'; 
import { switchMap } from 'rxjs/operators';

const s = new BehaviorSubject([of(1), of(2), of(3)]);

s.pipe(
  switchMap(array => merge(...array)),
).subscribe(x => console.log(x));

s.next([...s.getValue(), of(4)]);

Live demo: https://stackblitz.com/edit/rxjs-vmcqs9

...