在另一个 Observable 发射它的第一个项目后开始发射
Start emitting after another observable emitted its first item
我有一个我似乎无法理解的简单用例。
给定 2 个观测值,A 和 B
A 在 B 发射第一个物品后开始发射物品,B 可以继续发射物品,这应该不会再影响 A。
我需要这个,因为 A 需要 B 发出的第一个值才能开始发出。
我试过 skipUntil 和 startWith 都无济于事。
我认为flatMap可以帮助你做你想做的事情:
Observable<Integer> createA(Observable<Integer> B) {
return B.take(1).flatMap(b -> {
/* replace with your Observable A implementation here */
BehaviorSubject<Integer> subjectA = BehaviorSubject.create();
return subjectA;
});
}
此方法 returns 一个 Observable A
,它仅在使用 Observable B
发出的第一个值初始化后才开始发射 B
。
我有一个我似乎无法理解的简单用例。
给定 2 个观测值,A 和 B
A 在 B 发射第一个物品后开始发射物品,B 可以继续发射物品,这应该不会再影响 A。
我需要这个,因为 A 需要 B 发出的第一个值才能开始发出。
我试过 skipUntil 和 startWith 都无济于事。
我认为flatMap可以帮助你做你想做的事情:
Observable<Integer> createA(Observable<Integer> B) {
return B.take(1).flatMap(b -> {
/* replace with your Observable A implementation here */
BehaviorSubject<Integer> subjectA = BehaviorSubject.create();
return subjectA;
});
}
此方法 returns 一个 Observable A
,它仅在使用 Observable B
发出的第一个值初始化后才开始发射 B
。