public Future<String> getString(){
Future<String> data = Future.future();
postgreSQLClient.query("select * from test", resultSetAsyncResult -> {
if(resultSetAsyncResult.succeeded()){
List<JsonObject> rows = resultSetAsyncResult.result().getRows();
data.complete("Completed...");
}
});
return data;
}
Future<String> future = getString();
System.out.println(future.result());
此Return
答案 0 :(得分:2)
与Java Future
不同,Vert.x Future
不会阻止。
换句话说,当您使用Java future.get()
编写Future
时,它会阻止调用方,直到将来完成,而具有Vert.x future.result()
的{{1}}会返回立即,未来是否完成。
Vert.x Future
没有阻止,因为Vert.x代码在必须永远不会被阻止的事件循环上运行。
如果您想要结果,请设置处理程序
Future