在<T>响应式编程中基于成员变量过滤两个 Flux



我有两个通量,需要从另一个通量中过滤主通量以创建另一个流量。我需要根据name属性从secondflux中过滤主通量数据,以反应的方式获得新的通量。

class Master{
private String name;
private Long id;
}
class second{
private String name;
}
masterflux.filterWhen(s->s.getName().equals(secondflux.??)) // Need Help

filterWhen运算符接受结果类型为Publisher<Boolean>:的Function

filterWhen(Function<? super T,? extends Publisher<Boolean>> asyncPredicate)

因此,您必须异步过滤secondFlux,如下所示:

Flux<Master> filtered = masterflux.filterWhen(master -> 
secondflux.filter(second -> master.getName().equals(second.getName())).hasElements());

最新更新