с учетом следующего метода:
private static String getChuckNorrisJoke () {
try {
HttpURLConnection con = (HttpURLConnection) new
URL( "http://api.icndb.com/jokes/random" ).openConnection();
BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream()));
StringBuilder response = new StringBuilder();
String line;
while ((line = in.readLine()) != null ) {
response.append(line);
}
in.close();
return response.toString();
} catch (IOException e) {
throw new IllegalStateException( "Something is wrong: " , e);
}
}
следующий оператор может использоваться для асинхронного запуска метода.
final CompletableFuture<String> jokeAsync = CompletableFuture.supplyAsync(() -> getChuckNorrisJoke());
хотя я думаю, что понимаю CompletionStage
Относительно CompletableFuture
, я не уверен, как я могу использовать CompletionStage
для выполнения той же задачи.
final CompletionStage<String> jokeAsync = ?
также я не уверен насчет «этапов объединения»