【发布时间】:2019-10-01 09:00:24
【问题描述】:
我正在使用 Vert.x 与 Vert.x Pg 池结合存储数据的应用程序服务器中实现 JAX-RS 服务。存储数据非常简单,因为没有什么可以返回给客户端。然而,当涉及到 HTTP GET 请求时,它变得更加复杂。
例如:
public List<Data> findAll() {
List<Data> list = new ArrayList<>();
pool.query("SELECT * FROM DATA", ar -> {
if (ar.succeeded()) {
RowSet rows = ar.result();
for (Row row : rows) {
list.add(new Data(row.getString(0), row.getString(1)));
}
} else {
System.out.println("Failure: " + ar.cause().getMessage());
}
});
return list;
}
所以,如您所见,作为 io.vertx.core.AsyncResult 的“ar”,它会立即返回一个空的 ArrayList。 我知道我应该返回一个 AsyncResult 或其子类,只是我不知道当查询完成时客户端如何获取对象列表。 有什么想法/例子吗? 谢谢!
【问题讨论】: