我尝试使用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()));
}
});
}
&#13;
我想让这个方法返回一个可以在CompositeFuture中添加的Future对象。
任何人都可以帮忙吗?!
答案 0 :(得分:1)
您需要创建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文档的Concurrent Composition章节中的更多详细信息。