public static CompletionStage combineFutures()

in src/main/java/com/spotify/futures/CompletableFutures.java [603:612]


  public static <R, A, B> CompletionStage<R> combineFutures(
      CompletionStage<A> a,
      CompletionStage<B> b,
      BiFunction<A, B, CompletionStage<R>> function) {
    final CompletableFuture<A> af = a.toCompletableFuture();
    final CompletableFuture<B> bf = b.toCompletableFuture();

    return CompletableFuture.allOf(af, bf)
        .thenCompose(ignored -> function.apply(af.join(), bf.join()));
  }