reactor-core/src/main/java/reactor/core/publisher/Mono.java
public final <V> Mono<V> then(Mono<V> other) {
		if (this instanceof MonoIgnoreThen) {
            MonoIgnoreThen<T> a = (MonoIgnoreThen<T>) this;
            return a.shift(other);
		}
		return onAssembly(new MonoIgnoreThen<>(new Publisher[] { this }, other));
	}
public final <V> Mono<V> then(Mono<V> other) {
		if (this instanceof MonoIgnoreThen) {
            MonoIgnoreThen<T> a = (MonoIgnoreThen<T>) this;
            return a.shift(other);
		}
		return onAssembly(new MonoIgnoreThen<>(new Publisher[] { this }, other));
	}
public final < V > Mono < V > then ( Mono < V > other ) { if ( this instanceof MonoIgnoreThen ) { MonoIgnoreThen < T > a = ( MonoIgnoreThen < T > ) this ; return a . shift ( other ) ; } return onAssembly ( new MonoIgnoreThen <> ( new Publisher [ ] { this } , other ) ) ; }
Let this {@link Mono} complete then play another Mono.
<p>
In other words ignore element from this {@link Mono} and transform its completion signal into the
emission and completion signal of a provided {@code Mono<V>}. Error signal is
replayed in the resulting {@code Mono<V>}.

<p>
<img class="marble" src="doc-files/marbles/thenWithMonoForMono.svg" alt="">

@reactor.discard This operator discards the element from the source.

@param other a {@link Mono} to emit from after termination
@param <V> the element type of the supplied Mono

@return a new {@link Mono} that emits from the supplied {@link Mono}
Let this { @link Mono } complete then play another Mono . <p > In other words ignore element from this { @link Mono } and transform its completion signal into the emission and completion signal of a provided { @code Mono<V > } . Error signal is replayed in the resulting { @code Mono<V > } .