Saltar al contenido

proyecto reactor – ¿Cómo combinar un Mono y un Flux?

Después de consultar especialistas en esta materia, programadores de varias ramas y profesores hemos dado con la solución al dilema y la plasmamos en esta publicación.

Solución:

Si bien la solución de Kevin Hussey es correcta, creo que es mejor tenerla de otra manera:

Mono mono1 = Mono.just("x");
Flux flux1 = Flux.just("1", "2", "3", "4");
mono1.flatMapMany(m -> flux1.map(x -> Tuples.of(x, m))).subscribe(System.out::println);

De esta forma tienes 1 suscripción a mono1en lugar de crear uno para cada valor de flux1. Consulte el diagrama de mármol en la documentación para Flux.flatMap() método.

Como sugirió Alan Sereb, estoy usando tuplas.

Zip busca pares para sumarlos, tu lógica busca cambiar los valores del flujo.

Mono mono1 = Mono.just("x");
Flux flux1 = Flux.just("1", "2", "3", "4");   
flux1.flatMap(x -> mono1.map(m -> x+m)).subscribe(System.out::println);

Tienes la opción de añadir valor a nuestro contenido contribuyendo tu experiencia en las crónicas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *