在rxjs中组合行为主体
我想使用CombineTest()组合两个BehaviorSubject。然而,这会产生一个正常的观察者,这对我的情况不起作用,因为我需要一个广播流,它在listen上发出先前的值在rxjs中组合行为主体,rxjs,Rxjs,我想使用CombineTest()组合两个BehaviorSubject。然而,这会产生一个正常的观察者,这对我的情况不起作用,因为我需要一个广播流,它在listen上发出先前的值 如何将多个BehaviorSubject组合成一个BehaviorSubject?如果我是你,我会创建一个单独的BehaviorSubject,从主要的两个主体收集排放物,然后重新排放或作为一个值提供: bs1 = new BehaviorSubject(1); bs2 = new BehaviorSubject(2
如何将多个BehaviorSubject组合成一个BehaviorSubject?如果我是你,我会创建一个单独的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);
不清楚你在问什么。您可以将一些代码与实际行为和期望的行为共享吗?您是否已经考虑过使用
ReplaySubject
或其他replay操作符?