Package io.vavr

Class API.ForLazy2Future<T1,T2>

java.lang.Object
io.vavr.API.ForLazy2Future<T1,T2>
Type Parameters:
T1 - the component type of the 1st Future
T2 - the component type of the 2nd Future
Enclosing class:
API

public static class API.ForLazy2Future<T1,T2> extends Object
A lazily evaluated For-comprehension with two Futures.

Constructed via For(...) and evaluated by calling yield(...). Construction is side-effect free; underlying Futures are traversed only when yield(...) is invoked.

  • Method Details

    • yield

      public <R> Future<R> yield(@NonNull BiFunction<? super T1,? super T2,? extends R> f)
      Produces results by mapping the Cartesian product of all bound values.

      Evaluation is lazy and delegated to the underlying Futures by composing flatMap and map chains.

      Type Parameters:
      R - the element type of the resulting Future
      Parameters:
      f - a function mapping a tuple of bound values to a result
      Returns:
      an Future containing mapped results
      Throws:
      NullPointerException - if f is null