如何从Vert.x Future创建Observable?

时间:2017-09-26 13:48:47

标签: vert.x rx-groovy

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

但我发现无法从未来获得Observable。

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

我浏览RxHelper并且没有toObservable方法将Future作为参数。

我错过了什么?任何帮助表示赞赏。

1 个答案:

答案 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