reactor-core/src/main/java/reactor/core/publisher/Mono.java
public static <T> Mono<T> first(Iterable<? extends Mono<? extends T>> monos) {
		return onAssembly(new MonoFirst<>(monos));
	}
public static <T> Mono<T> first(Iterable<? extends Mono<? extends T>> monos) {
		return onAssembly(new MonoFirst<>(monos));
	}
Pick the first available result coming from any of the given monos and populate a new {@literal Mono}.

<p>
<img class="marble" src="doc-files/marbles/firstForMono.svg" alt="">
<p>
@param monos The monos to use.
@param <T> The type of the function result.

@return a {@link Mono}.