gpt4 book ai didi

java - 当第二阶段对第一阶段结果值不感兴趣时​​的 CompletionStage 链接

转载 作者:行者123 更新时间:2023-11-30 02:45:07 24 4
gpt4 key购买 nike

场景:

  • 有两个阶段
  • 第二阶段仅在第一阶段完成后执行
  • 第二阶段对第一阶段的结果不感兴趣,而仅仅对第一阶段完成的事实感兴趣

考虑现有方法:

public <U> CompletionStage<U> thenApply(Function<? super T,? extends U> fn);

它不太满足我的需求,因为该函数知道第一阶段结果值? super T

我更想要的是:

public <U> CompletionStage<U> thenApply(Supplier<? extends U> fn);

问题:我是否正确理解,没有现成的解决方案,因此我必须编写自己的包装函数才能实现所需的行为?

最佳答案

没有这样的内置解决方案。但你可以“滥用”CompletableFuture.supplyAsyncthenCompose :

Supplier<String> sup = ()->"s";
CompletableFuture.supplyAsync(()->4)
.thenCompose(x->CompletableFuture.supplyAsync(sup))
.thenAccept(System.out::println);

顺便说一句,我想可能没有这样方便的方法,因为 CompletionStage/CompletableFuture 已经有很多方法了。

关于java - 当第二阶段对第一阶段结果值不感兴趣时​​的 CompletionStage 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40410845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com