src/main/java/io/reactivex/Flowable.java
@CheckReturnValue
    @BackpressureSupport(BackpressureKind.FULL)
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <U, V> Flowable<T> delay(Publisher<U> subscriptionIndicator,
            Function<? super T, ? extends Publisher<V>> itemDelayIndicator) {
        return delaySubscription(subscriptionIndicator).delay(itemDelayIndicator);
    }
@CheckReturnValue
    @BackpressureSupport(BackpressureKind.FULL)
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <U, V> Flowable<T> delay(Publisher<U> subscriptionIndicator,
            Function<? super T, ? extends Publisher<V>> itemDelayIndicator) {
        return delaySubscription(subscriptionIndicator).delay(itemDelayIndicator);
    }
@ CheckReturnValue @ BackpressureSupport ( BackpressureKind . FULL ) @ SchedulerSupport ( SchedulerSupport . NONE ) public final < U , V > Flowable < T > delay ( Publisher < U > subscriptionIndicator , Function < ? super T , ? extends Publisher < V > > itemDelayIndicator ) { return delaySubscription ( subscriptionIndicator ) . delay ( itemDelayIndicator ) ; }
Returns a Flowable that delays the subscription to and emissions from the source Publisher via another
Publisher on a per-item basis.
<p>
<img width="640" height="450" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/delay.oo.png" alt="">
<p>
<em>Note:</em> the resulting Publisher will immediately propagate any {@code onError} notification
from the source Publisher.
<dl>
<dt><b>Backpressure:</b></dt>
<dd>The operator doesn't interfere with the backpressure behavior which is determined by the source {@code Publisher}.
All of the other {@code Publisher}s supplied by the functions are consumed
in an unbounded manner (i.e., no backpressure applied to them).</dd>
<dt><b>Scheduler:</b></dt>
<dd>This version of {@code delay} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>

@param <U>
the subscription delay value type (ignored)
@param <V>
the item delay value type (ignored)
@param subscriptionIndicator
a function that returns a Publisher that triggers the subscription to the source Publisher
once it emits any item
@param itemDelayIndicator
a function that returns a Publisher for each item emitted by the source Publisher, which is
then used to delay the emission of that item by the resulting Publisher until the Publisher
returned from {@code itemDelay} emits an item
@return a Flowable that delays the subscription and emissions of the source Publisher via another
Publisher on a per-item basis
@see <a href="http://reactivex.io/documentation/operators/delay.html">ReactiveX operators documentation: Delay</a>
Returns a Flowable that delays the subscription to and emissions from the source Publisher via another Publisher on a per - item basis . <p > <img width = 640 height = 450 src = https : // raw . github . com / wiki / ReactiveX / RxJava / images / rx - operators / delay . oo . png alt = > <p > <em > Note : < / em > the resulting Publisher will immediately propagate any { @code onError } notification from the source Publisher . <dl > <dt > <b > Backpressure : < / b > < / dt > <dd > The operator doesn t interfere with the backpressure behavior which is determined by the source { @code Publisher } . All of the other { @code Publisher } s supplied by the functions are consumed in an unbounded manner ( i . e . no backpressure applied to them ) . < / dd > <dt > <b > Scheduler : < / b > < / dt > <dd > This version of { @code delay } does not operate by default on a particular { @link Scheduler } . < / dd > < / dl >