Как сделать условный почтовый индекс с Reactor? - PullRequest
0 голосов
/ 20 сентября 2018
// there are three elements in profileSource
// Profile(1, "Aris")
// Profile(2, "Bob")
// Profile(3, "Cathy")

Flux.fromArray(new int[]{1, 3})
    .zipWith(profileSource, 
             /* a lambda to match id and profile */ )
    .map( /* tuple.t1 is ID, tuple.t2 is Profile */ )

Внутри лямбда оператора карты, я надеюсь, что я могу получить два кортежа, один для Ариса и один для Кэти, каждый кортеж имеет идентификатор и профиль.

Я могу просто реализовать соператоры 'filter' и 'sort', но я хотел бы знать, есть ли лучший подход.

profileSource
    .filter( /* p.id == 1 or 3 */ )
    .sort( /* order by id */ )
    .zipWith(Flux.fromArray(new int[]{1, 3})
    .map( /* get expected tuple */ )
...