объединение поведенческих объектов в rxjs - PullRequest
0 голосов
/ 07 ноября 2018

Я хотел бы объединить два BehaviorSubjects с объединениемLatest (). Однако это создает обычный Observer, который не работает в моей ситуации, потому что мне нужен широковещательный поток, который выдает предыдущее значение при прослушивании.

Как я могу объединить несколько BehaviorSubjects в один BehaviorSubject?

1 Ответ

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

На вашем месте я бы создал отдельный объект BehaviorSubject, который собирал бы выбросы из основных двух и переизлучал их, либо предоставляя в качестве значения:

bs1 = new BehaviorSubject(1);
bs2 = new BehaviorSubject(2);
bsCombined = new BehaviorSubject(undefined);

bs1.subscribe(val => bsCombined.next(val));
bs2.subscribe(val => bsCombined.next(val));

bsCombined.subscribe(newestVal => {
   if(newestVal !== undefined) {
     /* Go on with processing */
   }
})
/* Due to previous subscriptions those emissions will be stored in combined behaviorSubject */
bs1.next(2);
bs1.next(3);
bs2.next(6);
bs1.next(4);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...