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$)
将不发射任何东西-是。你的意思是什么?