我有一个 CompletableFuture<MyService>
列表:
List<CompletableFuture<MyService>>
其中MyService
是不可变的,像以下这样:
public class MyService {
public boolean isAvailable() {
return true; // or false
}
}
我现在希望有一个未来,当以下任意一种情况发生时,该未来就完成:
- 已经完成;并且
- 对于由该未来提供的
MyService
实例:MyService.isAvailable()
返回true
MyService
实例。换句话说,我想要一个CompletableFuture<MyService>
,当满足这两个条件时就会完成。我该如何做?我知道我可以使用
CompletableFuture.anyOf(...)
在一个未来完成时进行处理,但我不确定如何集成第二个要求:MyService.isAvailable()
必须为真。
MyService.isAvailable()
有什么问题吗? 您想等待它变为真吗? 此外,由于语法不正确,您的问题标题并没有太多意义。 - Didier LCompletableFuture
,当满足两个条件时完成。 - Jade DezoMyService.isAvailable()
根据内部成员返回true
或false
,因此不执行任何异步检查或其他操作。我需要某种形式的链式CompletableFuture
,就像您在流上使用filter()
一样。 - Jade Dezo