如何从 Vert.x 未来创建 Observable?

How to create a Observable from a Vert.x Future?

我有一个 io.vertx.core.Future 的实例,因为我需要将多个处理程序设置到同一个 Future 中,根据这个问题 https://github.com/eclipse/vert.x/issues/1920 方法是使用 Observables。

但我找不到从 Future 中获取 Observable 的方法。

我试过 rx.Observable.from( Future ) 但它不起作用,因为它不是 Java 未来。

我查看了 RxHelper 并没有 toObservable 以 Future 作为参数的方法。

我错过了什么?感谢任何帮助。

您可以创建一个 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