当前位置: 首页 > 知识库问答 >
问题:

完整的未来链不调用thenAcceptAsync

郦良才
2023-03-14

< code>doTask()是一个方法,如果< code>previousStepResult成功,则该方法执行某些操作,否则记录并按原样返回< code>previousStepResult。下面的代码工作正常,并且< code>conclude()也被执行,但是只有在没有异常(错误)的情况下。但是如果有异常(处理得很好),代码返回false。因此,在错误的情况下,下一步被称为罚款,如前所述,日志和返回假。然而,根本没有调用< code >结论。我不确定每个步骤中的异常是否会影响< code > theacceptasync 的执行或其他。有线索吗?

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

共有1个答案

何海
2023-03-14

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

 类似资料:
  • 我的问题是如何使用Completable Future。 我有一个实现Callable的类。 早点用来做—— 这将返回

  • 完整的利用链 至此,我们已经讨论了很多方面来说明如何远程漏洞利用这辆吉普和类似的车型。目前为止,这些信息已经足够你实现完整的漏洞利用,但是我们想要总结一下漏洞链是如何自始至终发挥作用的。 识别目标 你需要车辆的IP地址。你可以随便选择一个或写一个蠕虫来入侵所有的车辆。如果你知道汽车的VIN或GPS,你可以根据你所了解的车辆停留位置来扫描其IP范围,直到发现对应的VIN或GPS。由于Sprint网络

  • 我想要一个完整的未来,只发出完成的信号(例如,我没有返回值)。 我可以将CompletableFuture实例化为: 但是我应该向完整的方法提供什么呢?例如,我不能做

  • null openssl pkcs12-export-in cert1.pem-inkey privkey1.pem-out cert_and_key.p12-name certificate-cafile fullchain1.pem-caname root keytool-importKeystore-destStorePAS5W0RD123-destKeypass Pas5w0rd123-d

  • 我正在尝试将方法的调用/结果链接到下一个调用。我得到了编译时错误方法,因为if无法从前一次调用中获得objB的引用。 如何将上一次调用的结果传递给下一个链?我是不是完全误解了这个过程?

  • 我有几个单独的操作,我想以与JS中相同的风格链接这些操作。 所以目前我有这样的代码: 可以在一个链中重写吗?有点: