我有两个通量,需要从另一个通量中过滤主通量以创建另一个流量。我需要根据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());