Angular 热观测的最晚时间

Angular 热观测的最晚时间,angular,rxjs,Angular,Rxjs,a$.pipe(带LatestFrom(b$)仅当b$是冷可观察的(或行为/重放主题)时才会发出值。 但是如果a$和b$都是热门的可观察对象呢? 我认为这种情况下,可观测的结果永远不会发射 我认为解决办法是 b2$ = b$.pipe(publishReplay(1)) b2$.connect() 然后 a$.pipe(withLatestFrom(b2$)) 但我觉得不太对劲。这个问题的正确解决方案是什么?a$。管道(最晚从(b$)将在b$第一次发射,而a$第二次发射时发射 如果您想在a$

a$.pipe(带LatestFrom(b$)
仅当
b$
是冷可观察的(或行为/重放主题)时才会发出值。
但是如果
a$
b$
都是热门的可观察对象呢?
我认为这种情况下,可观测的结果永远不会发射

我认为解决办法是

b2$ = b$.pipe(publishReplay(1))
b2$.connect()
然后

a$.pipe(withLatestFrom(b2$))
但我觉得不太对劲。这个问题的正确解决方案是什么?

a$。管道(最晚从(b$)
将在
b$
第一次发射,而
a$
第二次发射时发射

如果您想在
a$
发出而
b$
尚未发出时立即发出结果可见光,则可以使用
startWith
b$
添加初始值

a$.pipe(
withLatestFrom(b$.pipe(startWith(null)))
)

考虑当const bSubj=new Subject()时的情况;b subj.next(“值”);const b$=bSubj.asObservable()在这种情况下,
a$.pipe(使用最新的from(b$)
将永远不会emit@dps如果
b$
不发射任何东西,那么
a$.pipe(withLatestFrom(b$)
将不发射任何东西-是。你的意思是什么?