我有两个可观测值,并且每个值只需要一个值。如果observable2
首先推送一个值,我想等待并保留接收到的值,直到observable1
推送一个值然后推送保持的值。基本上与skipUntil
具有相同的行为,不同之处在于我不想放弃该值。我想我可以通过隐藏可观察对象来做到这一点,但我想将它们分开。
observable1
.take(1)
.subscribe(doSomething)
observable2
.take(1)
// .skipUntil(observable1)
.waitUntil(observable1) // Something like this
.subscribe(doSomethingElse)
最佳答案
这将等待observable1推送,然后切换到observable2:
observable1.switchMap(() => observable2)
.take(1)
.subscribe(doSomethingElse);
如果您希望observable1仅触发一次(例如,如果您在示例中的其他地方订阅它),请考虑使用
.share()
。