reactor-core/src/main/java/reactor/core/publisher/Mono.java
public static <R> Mono<R> zip(Function<? super Object[], ? extends R> combinator, Mono<?>... monos) {
		if (monos.length == 0) {
			return empty();
		}
		if (monos.length == 1) {
			return monos[0].map(d -> combinator.apply(new Object[]{d}));
		}
		return onAssembly(new MonoZip<>(false, combinator, monos));
	}
public static <R> Mono<R> zip(Function<? super Object[], ? extends R> combinator, Mono<?>... monos) {
		if (monos.length == 0) {
			return empty();
		}
		if (monos.length == 1) {
			return monos[0].map(d -> combinator.apply(new Object[]{d}));
		}
		return onAssembly(new MonoZip<>(false, combinator, monos));
	}
public static < R > Mono < R > zip ( Function < ? super Object [ ] , ? extends R > combinator , Mono < ? > ... monos ) { if ( monos . length == 0 ) { return empty ( ) ; } if ( monos . length == 1 ) { return monos [ 0 ] . map ( d -> combinator . apply ( new Object [ ] { d } ) ) ; } return onAssembly ( new MonoZip <> ( false , combinator , monos ) ) ; }
Aggregate given monos into a new {@literal Mono} that will be fulfilled when all of the given {@literal
Monos} have produced an item, aggregating their values according to the provided combinator function.
An error or <strong>empty</strong> completion of any source will cause other sources
to be cancelled and the resulting Mono to immediately error or complete, respectively.
<p>
<img class="marble" src="doc-files/marbles/zipVarSourcesWithZipperForMono.svg" alt="">
<p>
@param monos The monos to use.
@param combinator the function to transform the combined array into an arbitrary
object.
@param <R> the combined result

@return a {@link Mono}.
Aggregate given monos into a new { @literal Mono } that will be fulfilled when all of the given { @literal Monos } have produced an item aggregating their values according to the provided combinator function . An error or <strong > empty< / strong > completion of any source will cause other sources to be cancelled and the resulting Mono to immediately error or complete respectively . <p > <img class = marble src = doc - files / marbles / zipVarSourcesWithZipperForMono . svg alt = > <p > @param monos The monos to use . @param combinator the function to transform the combined array into an arbitrary object . @param <R > the combined result