我有一个来自 Mongo 的项目列表,我需要通过远程调用结果过滤它们,如下所示:
repository.findByString(String string) // Flux<SomeObject>
.filter(a -> {
Boolean result = remoteClient.getInfo(a.getSomeProperty()).block().getBoolean();
return result;
}).map(a -> {
//Some logic
})
我不知道如何以非阻塞的方式做到这一点。 请帮忙
为此目的,您有
filterWhen
:
repository.findByString(String string) // Flux<SomeObject>
.filterWhen(a -> remoteClient.getInfo(a.getSomeProperty()).map(s -> s.getBoolean()))
.map(a -> {
//Some logic
})