【发布时间】:2020-06-26 02:34:54
【问题描述】:
这是场景:有两个可观察的流(A 和 B)。我只想在A 至少发出一次之后从B 发出。
我尝试了combineLatest,但问题是当A 或B 发出时发出组合流。我只希望这个流在B 发出时发出,我不需要来自A 的值。我只需要它被发射一次。
这就是我要找的:
---a---a-- A
-b---b---- B
---b-b---- required
【问题讨论】:
标签: rxjs
这是场景:有两个可观察的流(A 和 B)。我只想在A 至少发出一次之后从B 发出。
我尝试了combineLatest,但问题是当A 或B 发出时发出组合流。我只希望这个流在B 发出时发出,我不需要来自A 的值。我只需要它被发射一次。
这就是我要找的:
---a---a-- A
-b---b---- B
---b-b---- required
【问题讨论】:
标签: rxjs
我认为这应该可行:
combineLatest(a$.pipe(first()), b$)
.pipe(
map(([a, b]) => b)
)
combineLatest 将在a$ 和b$ 都发出时第一次发出,然后它只会在b$ 发出时发出,因为a$.pipe(first())。
【讨论】:
一旦 combine latest 发出,然后切换回 b。
combineLatest(a$, b$).pipe(
map(([a, b]) => b),
switchMap(_ => b$)
);
【讨论】: