【发布时间】:2016-01-11 18:48:23
【问题描述】:
我想使用Rx.Observable.if 来运行两个可观察对象之一,如果条件可观察对象解析为真或假。
我想要达到的效果如下所示:
Rx.Observable.if(conditionalObservable.map(x => x.length > 0), firstObservable, secondObservable).subscribe()
如果conditionalObservable 发送下一个,然后以真值完成,则应运行firstObservable,否则应运行secondObservable。
现在显然这不起作用,因为Rx.Observable.if 需要一个有条件的函数,而不是一个可观察的。如何在 RXJS 中实现完全相同的功能?
注意:This issue 几乎相同,但我认为它不够简洁,因为 1)您必须有两个 pausable 语句和 2)除非您将 take(1) 附加到您的条件 observables,否则您可以'不保证条件不会发出更多的下一个事件。 IMO 这是一种解决方法,但会出现更多人为错误。
【问题讨论】:
标签: javascript rxjs