CompletableFuture支持哪些常用的操作方法?
时间: 2024-05-08 11:13:52 浏览: 87
CompletableFuture 是Java 8引入的一个类,用于异步执行任务并在完成后返回结果。它支持以下常用的操作方法:
1. thenApply(Function<? super T,? extends U> fn):将当前 CompletableFuture 的结果作为参数传递给一个函数,并返回一个新的 CompletableFuture 作为该函数的结果。
2. thenAccept(Consumer<? super T> action):在 CompletableFuture 完成后,使用当前 CompletableFuture 的结果作为参数传递给一个消费者,并返回一个新的 CompletableFuture。
3. thenRun(Runnable action):在 CompletableFuture 完成后,执行一个 Runnable,并返回一个新的 CompletableFuture。
4. thenCombine(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn):将当前 CompletableFuture 和另一个 CompletionStage 结果合并,并将结果作为参数传递给一个函数,并返回一个新的 CompletableFuture 作为该函数的结果。
5. exceptionally(Function<Throwable,? extends T> fn):如果 CompletableFuture 异常完成,则使用异常传递给一个函数,并返回一个新的 CompletableFuture 作为该函数的结果。
6. handle(BiFunction<? super T,Throwable,? extends U> fn):在 CompletableFuture 完成后,使用结果和异常(如果有)调用一个 BiFunction,并返回一个新的 CompletableFuture 作为该函数的结果。
7. whenComplete(BiConsumer<? super T,? super Throwable> action):在 CompletableFuture 完成后,使用结果和异常(如果有)调用一个 BiConsumer,并返回一个新的 CompletableFuture。
阅读全文