gpt4 book ai didi

java - CompletableFuture 链未调用 thenAcceptAsync

转载 作者:行者123 更新时间:2023-12-01 16:47:53 27 4
gpt4 key购买 nike

doTask() 是一种方法,如果 previousStepResult 成功,则执行某些操作,否则记录并按原样返回 previousStepResult。下面的代码工作正常,并且 conclusion() 也会执行,但前提是没有异常(错误)。但如果存在异常(处理得当),代码将返回 false。因此,如果出现错误,下一步称为“罚款”,如上所述,记录并返回 false。然而 conclusion 根本没有被调用。我不确定每个步骤中是否存在异常影响,阻止执行 thenAcceptAsync 或其他什么。有什么线索吗?

return CompletableFuture.supplyAsync(() -> doTask("task1", true), taskExecutor).
thenApplyAsync(previousStepResult -> doTask("task2", previousStepResult),taskExecutor).
thenApplyAsync(previousStepResult -> doTask("task3", previousStepResult),taskExecutor).
thenAcceptAsync(previousStepResult -> conclude(previousStepResult),taskExecutor);

最佳答案

在可能引发错误的步骤之后使用 CompletableFuture::handleCompletableFuture::handleAsync。这将导致进一步的步骤按原样调用,否则将被跳过。

关于java - CompletableFuture 链未调用 thenAcceptAsync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61742592/

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