我想用Rx.Observable.if
運行兩個可觀察對象之一,如果條件可觀察對象解析爲真或假。RXJS如果以可觀察條件作爲條件
我想實現看起來是這樣的內容:
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)
到您的觀測條件,你不能保證條件不會發射更多的下一個事件。海事組織這是一個解決方法,並受到更多的人爲錯誤。