Java8 CompletableFuture recoverMit Äquivalent? zB ausnahmsweise aber return CompletableFuture <U>

Ich sehe keine offensichtliche Möglichkeit, eine Ausnahme mit einem asynchronen Ergebnis zu behandeln. Zum Beispiel, wenn ich einen asynchronen Vorgang wiederholen möchte. Ich würde so etwas erwarten, aber handleAsync tut nicht das, was Sie denken, es führt die Rückrufe auf einem anderen Thread asynchron aus. Die Rückgabe eines CompletionStage hier ist nicht korrekt. Gefahrenfrage des Tages:thenApply ist zuthenCompose wieexceptionally ist zu was?

CompletionStage<String> cf = askPong("cause error").handleAsync((x, t) -> {
    if (t != null) {
        return askPong("Ping");
    } else {
        return x;
    }
});

Wo askPong einen Schauspieler fragt:

public CompletionStage<String> askPong(String message){
    Future sFuture = ask(actorRef, message, 1000);
    final CompletionStage<String> cs = toJava(sFuture);
    return cs;
} 

Antworten auf die Frage(4)

Ihre Antwort auf die Frage