Asynchronous Observer.onNext中的RxJava/RxScala异步代码

Asynchronous Observer.onNext中的RxJava/RxScala异步代码,asynchronous,rx-java,reactive-programming,rx-scala,Asynchronous,Rx Java,Reactive Programming,Rx Scala,假设您希望将某个流中的事件存储到数据库中,并且该数据库的客户端库是异步的 例如,有一个方法writeEvent(event:MyEvent):Future[Boolean],当发出下一个事件时,您必须在观察者的onNext内部调用该方法。除了阻止未来之外,还有什么好方法可以做到这一点吗 关于如何实现这一点,我目前看到的唯一方法是创建一些自定义的调度程序,它允许我将线程返回到池中,直到onNext中的异步代码完成。您不希望像onNext订户回调中那样阻止Rx。它可以用更惯用的方式链接在一起 我不太

假设您希望将某个流中的事件存储到数据库中,并且该数据库的客户端库是异步的

例如,有一个方法
writeEvent(event:MyEvent):Future[Boolean]
,当发出下一个事件时,您必须在观察者的
onNext
内部调用该方法。除了阻止
未来
之外,还有什么好方法可以做到这一点吗


关于如何实现这一点,我目前看到的唯一方法是创建一些自定义的
调度程序
,它允许我将线程返回到池中,直到
onNext
中的异步代码完成。

您不希望像
onNext
订户回调中那样阻止Rx。它可以用更惯用的方式链接在一起

我不太关注期货,但我想知道
可观察。from(Future)
是否有效:

someStream
    .flatMap(evt => Observable.from(writeEvent(evt)))
    .subscribe(
        next => ...,
        err => ...
)

谢谢你的回答。看来可以用了,我会试试,稍后再报告。