CompletableFuture: Ожидание первого возвращения нормально?
у меня есть немногоCompletableFuture
и я хочу запустить их параллельно, ожидая первого, который вернетсяобычно.
Я знаю, что могу использоватьCompletableFuture.anyOf
ждать первого, чтобы вернуться, но это вернетсяобычно или жеисключительно, Я хочу игнорировать исключения.
List<CompletableFuture<?>> futures = names.stream().map(
(String name) ->
CompletableFuture.supplyAsync(
() ->
// this calling may throw exceptions.
new Task(name).run()
)
).collect(Collectors.toList());
//FIXME Can not ignore exceptionally returned takes.
Future any = CompletableFuture.anyOf(futures.toArray(new Compl,etableFuture<?>[]{}));
try {
logger.info(any.get().toString());
} catch (Exception e) {
e.printStackTrace();
}