public static <T> Observable<T> deferFuture(
        Func0<? extends Future<? extends Observable<? extends T>>> observableFactoryAsync,
        Scheduler scheduler) {
        return OperatorDeferFuture.deferFuture(observableFactoryAsync, scheduler);
    }
public static < T > Observable < T > deferFuture ( Func0 < ? extends Future < ? extends Observable < ? extends T > > > observableFactoryAsync , Scheduler scheduler ) { return OperatorDeferFuture . deferFuture ( observableFactoryAsync , scheduler ) ; }
Returns an Observable that starts the specified asynchronous factory function whenever a new observer
subscribes.
<p>
<img width="640" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/deferFuture.s.png" alt="">

@param <T> the result type
@param observableFactoryAsync the asynchronous function to start for each observer
@param scheduler the Scheduler where the completion of the Future is awaited
@return the Observable emitting items produced by the asynchronous observer produced by the factory
@see <a href="https://github.com/ReactiveX/RxJava/wiki/Async-Operators#wiki-deferfuture">RxJava Wiki: deferFuture()</a>