我有点奇怪的情况,似乎不允许这种钉子固定在任何已广泛建立的CompletableFuture孔中。
- 在评估返回的布尔值的主要方法中,我想允许对三种不同方法的调用以异步方式完成。这三种方法都可以返回TRUE或FALSE。
- 如果 any 返回FALSE,我希望评估结果除去其余部分,然后简单地返回该FALSE值。关键是,它可以是三个中的任何,不一定是第一个。
- 但最重要的是,我需要评估,直到所有三个返回TRUE,然后才真正返回TRUE。这是至关重要的。
现在,我正在使用基本的&&
链进行评估:
public boolean evaluateChecks() {
return checkOne().Join() && checkTwo().Join() && checkThree().Join();
}
尽管如此,它仍然按照特定的顺序执行操作-如果checkThree()
是第一个返回FALSE值的对象,它仍然必须等到前两个提供了它们的值之后才能进行评估,这是因为&&
完全有效。
现在,所有这三种方法都返回CompletableFuture<Boolean>
,但我可以毫不费力地将它们还原回普通方法,以便在评估它们的主要方法中运行CompletableFuture
。
我看过quite a few examples,但似乎没有一个能为我提供所需的功能。