我正在尝试使用 vertx mongodb 客户端更新我的 vertx 微服务中的多个文档。我正在尝试使用复合期货。我希望在所有文件更新后回复。
private static void replaceQuestion(JsonObject query, Handler<AsyncResult<Boolean>> handler) {
Mongo.getInstance().getClient().replaceOne("questions", query, updateRes -> {
if (updateRes.succeeded()) {
handler.handle(Future.succeededFuture(true));
} else {
handler.handle(Future.failedFuture(deleteRes.cause()));
}
});
}
我想让这个方法返回一个可以添加到复合未来的 Future 对象。
谁能帮忙?!
您需要创建一个Future
并使用 Future.completer
方法:
private static Future<Boolean> replaceQuestion(JsonObject query) {
Future<Boolean> future = Future.future();
Mongo.getInstance().getClient().replaceOne("questions", query, future.completer());
return future;
}
更多详细信息,请参阅 Vert.x 文档的"并发合成"一章。