【发布时间】:2021-06-20 11:42:02
【问题描述】:
我对 Vertx 框架很陌生。所以我对使用异步编程有点迷茫。如果我只想计算结果而不是返回另一个未来,我的问题是如何处理未来。
class example {
private computedData;
public Future<Void> process() {
Future<T> search = OperationFromDataBase();
Future<Void> finalFuture = search.onComplete(re -> {
computeWithresult();
for (;computeResult;) {
getOtherFuturesFromDataBase()
future1.oncomplete(..);
future2.oncomplete(..);
...
futurei.oncomplete(..);
}).mapEmpty();
return finalFuture;
}
};
我搜索了有关这些未来内容的实践,但我不太了解。我不知道这是否是正确的做法。我想要做的是在搜索未来结束后,我可以根据其结果创建其他期货,如果它包含的所有期货都完成,我想让最终的未来通知其他函数从对象返回响应。我是否犯了一些错误,例如我在 future1..i 未完成时在其他函数上调用 finalFuture.oncomplete?我该怎么做才能解决这个问题?
【问题讨论】:
-
您不必返回
Future。不关心运算结果的可以忽略。