我有两个可观察量,我只想从每个可观察量中获得一个值。如果 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()
.
关于javascript - 等待并积累值,直到其他可观察到的火灾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42541244/