上下文:我有一个应用程序的日志记录库,我想使用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