我有一个io.vertx.core.Future的实例,因为我需要将多个处理程序设置到同一个Future中,根据这个问题https://github.com/eclipse/vert.x/issues/1920的方法是使用Observables。
但我发现无法从未来获得Observable。
我尝试rx.Observable.from( Future )
但它不起作用,因为它不是Java Future。
我浏览RxHelper
并且没有toObservable
方法将Future作为参数。
我错过了什么?任何帮助表示赞赏。
答案 0 :(得分:1)
您可以创建ObservableFuture
并将其处理程序用作原始Future
的处理程序
import io.vertx.core.Future
import io.vertx.rx.java.RxHelper
def myFuture = Future.<String> future()
def obsFut = RxHelper.observableFuture()
myFuture.setHandler(obsFut.toHandler())
obsFut.subscribe({ s ->
println "Hello $s"
})
myFuture.complete("John")
打印
Hello John