CompletableFuture thenAccept
时间: 2024-01-21 17:14:55 浏览: 32
CompletableFuture的thenAccept方法用于在前一个阶段(也就是前一个CompletableFuture)完成后执行一个消费者操作。它接受一个Consumer作为参数,该Consumer接受前一个阶段的结果作为输入,并对其进行处理。
下面是一个示例代码,演示了如何使用CompletableFuture的thenAccept方法:
```java
CompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> {
return 1;
}).thenAccept(result -> {
System.out.println(result);
}).exceptionally(e -> {
System.out.println(e);
return null;
});
```
在上面的示例中,首先使用`supplyAsync`方法创建了一个CompletableFuture,该方法会异步执行一个任务并返回一个结果。然后使用`thenAccept`方法指定了一个消费者操作,该操作会在前一个CompletableFuture完成后执行,并接受前一个CompletableFuture的结果作为输入。最后使用`exceptionally`方法指定了一个异常处理操作,该操作会在前一个CompletableFuture发生异常时执行。
请注意,CompletableFuture的方法都是非阻塞的,它们会立即返回一个新的CompletableFuture对象,而不会等待前一个CompletableFuture完成。这使得我们可以方便地构建复杂的异步操作链。