上下文:我有一個應用程序的日誌記錄庫,我想使用Rx Subject將日誌寫入數據庫。 問題:在建立與數據庫的連接之前會生成日誌,並且連接可能隨時變得不可用,但是我有和可觀察到的情況是要麼包含具有用於使用數據庫的方法的對象,要麼包含未定義的方法。我想要做的是在數據庫持久性未定義時將日誌保留在流中,並在可用時恢復。RxJS在外部條件下從流中提取數據
我認爲代碼應該是這個樣子:
logsSubject
.takeWhen(/* test for database persistence */) // made up name because I don't know a Rx method that does what I want
.subscribe(/* write data to database */);
我不但是知道這實際上是可能的,我使用RxJS了很短的時間
這是第一次,但'dbConnection'發出多次,因爲連接可以在引導後重置,並且我想只有在'!! db === true'時才從logsSubject提取數據。 –
然後你可以用'dbConnection.filter(db => !! db)'把它鏈接到'combineLatest' – martin