Eu estive fazendo algumas leituras sobre CompletableFuture.
Agora eu entendo que CompletableFuture é diferente do Futuro no sentido de que ele fornece meios para a cadeia de futuros juntos, para utilizar a chamada de retorno para lidar com as Futuras do resultado, sem, na verdade, o bloqueio de código.
No entanto, não é este completo() método que eu estou tendo um tempo difícil de moldagem minha cabeça ao redor. Eu só sei que ele permite-nos concluir um futuro manualmente, mas o que é o uso para ele? Os exemplos mais comuns que encontrei para este método é o momento de fazer alguma tarefa assíncrona, podemos imediatamente retornar uma seqüência de caracteres, por exemplo. Mas qual é o ponto de fazê-lo se o valor de retorno não reflete o resultado real? Se queremos fazer algo de forma assíncrona por que nós não apenas o uso regular futuro em vez disso? O único uso que eu posso pensar é quando queremos condicionalmente cancelar um curso de futuro. Mas eu acho que eu estou faltando alguns importantes pontos-chave aqui.