这里是场景:有两个可观察的流(A
和B
)。我只想在B
发出至少一次之后才从A
发出信号。
我尝试了combineLatest
,但是问题是当A
或B
发出时,合并的流也发出了。我只希望此流在B
发出时发出,我不需要A
中的值。我只需要发出一次即可。
这就是我要寻找的:
---a---a-- A
-b---b---- B
---b-b---- required
答案 0 :(得分:1)
我认为这应该可行:
combineLatest(a$.pipe(first()), b$)
.pipe(
map(([a, b]) => b)
)
combineLatest
将在a$
和b$
都被发射时第一次发射,然后由于{{1}而仅在b$
发射时发射。 }。
答案 1 :(得分:0)
最新的组合发射一次,然后切换回b。
combineLatest(a$, b$).pipe(
map(([a, b]) => b),
switchMap(_ => b$)
);