假设我有可观察的A,B,C。我必须听听这三个的变化并改变计算方式。
即,在任何一个可观测对象的值发生变化时,我需要使用其余的可观测对象的当前值和旧值重新计算新值。
我尝试使用CombineLatest,它是完美的,除了所有可观察对象的值都应具有最新值/变化的第一个行为。
答案 0 :(得分:1)
您可以在将每个可观察到的源传递给startWith
之前,先为它们加上combineLatest
运算符:
combineLatest(
obsA$.pipe(startWith(null)),
obsB$.pipe(startWith(null)),
obsC$.pipe(startWith(null)),
)
然后,您必须手动检查什么是null
。