Java8 CompletableFuture recovery с аналогом? например, исключительно, но вернуть CompletableFuture <U>
Я не вижу очевидного способа обработки исключения с асинхронным результатом. Например, если я хочу повторить асинхронную операцию. Я ожидал бы что-то подобное, однако handleAsync не делает то, что вы думаете, он делает - он выполняет обратные вызовы в другом потоке асинхронно. Возвращать CompletionStage здесь не правильно. Опасный вопрос дня:thenApply
это кthenCompose
какexceptionally
к чему?
CompletionStage<String> cf = askPong("cause error").handleAsync((x, t) -> {
if (t != null) {
return askPong("Ping");
} else {
return x;
}
});
Где askPong спрашивает актера:
public CompletionStage<String> askPong(String message){
Future sFuture = ask(actorRef, message, 1000);
final CompletionStage<String> cs = toJava(sFuture);
return cs;
}