1

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

但是我发现无法从 Future 中获取 Observable。

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

我浏览了一下RxHelper,没有toObservable将 Future 作为参数的方法。

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

4

1 回答 1

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
于 2017-09-26T15:01:02.240 回答