Я новичок в понятии CompletableFuture
в Java, поэтому я не очень много знаю о нем и его функциях, кроме thenApply
У меня есть требование, когда у меня есть проверить некоторые условия в блоке thenApply
CompletableFuture
A . Если условие выполнено, вернуть ноль, иначе вернуть еще один CompletableFuture
B , чтобы в следующем thenApply
результат был B .
В основном я пытаюсь сделать что-то вроде следующего:
CompletableFuture<String> A = ......
CompletableFuture<Boolean> B = ......
A.thenApply((res) -> {
if (res.equals("hey")) {
return null;
} else {
return B;
}
})
.thenApply((bResult) -> { // At this point, I want it to act as if I was calling B.thenApply
//some function;
})
Возможно ли это? Могу ли я вернуть CompletableFuture
из другого CompletableFuture
, чтобы следующие thenApply
в цепочке фактически были thenApply
из возвращенных CompletableFuture
?
Кроме того, если я хочу отменить далее thenApply
s при некотором условии. Как мне это сделать?