Vertx |为什么代理服务或事件总线服务不适用于Future?

时间:2017-02-21 13:19:44

标签: java vert.x

为什么代理服务或事件总线服务的开发仅适用于Async Handler,而不适用于Future。如果我将Future传递给服务接口/实现的一个方法,并且如果我执行future.completer,它最终会返回Handler<AsyncResult<T>>,因此服务方法需要作为参数(Handler<AsyncResult<T>>)

这是我在构建应用程序时遇到的错误:

  

无法为addAccount(Account,io.vertx.core.Future)生成模型:输入io.vertx.core.Future对于代理中的参数使用是不合法的   io.vertx.codegen.GenException:输入io.vertx.core.Future对于代理中的参数使用是不合法的

1 个答案:

答案 0 :(得分:0)

定义服务代理接口时可以使用的类型有限制。它们列在文档的Restrictions for service interface中。特别是:

  

如果需要异步结果,则为类型的最后一个参数   可以提供Handler<AsyncResult<R>>