为什么代理服务或事件总线服务的开发仅适用于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对于代理中的参数使用是不合法的
答案 0 :(得分:0)
定义服务代理接口时可以使用的类型有限制。它们列在文档的Restrictions for service interface中。特别是:
如果需要异步结果,则为类型的最后一个参数 可以提供
Handler<AsyncResult<R>>
。