vertx / io.vertx.reactivex.core / CompositeFuture / join

# join

`open static fun <T1 : Any, T2 : Any> join(f1: Future<T1>, f2: Future<T2>): CompositeFuture`

Return a composite future, succeeded when all futures are succeeded, failed when any future is failed. It always wait until all its futures are completed and will not fail as soon as one of `f1` or `f2` fails.

### Parameters

`f1` - future

`f2` - future

Return
the composite future

`open static fun <T1 : Any, T2 : Any, T3 : Any> join(f1: Future<T1>, f2: Future<T2>, f3: Future<T3>): CompositeFuture`

Like `io.vertx.reactivex.core.CompositeFuture#join` but with 3 futures.

### Parameters

`f1` -

`f2` -

`f3` -

Return

`open static fun <T1 : Any, T2 : Any, T3 : Any, T4 : Any> join(f1: Future<T1>, f2: Future<T2>, f3: Future<T3>, f4: Future<T4>): CompositeFuture`

Like `io.vertx.reactivex.core.CompositeFuture#join` but with 4 futures.

### Parameters

`f1` -

`f2` -

`f3` -

`f4` -

Return

`open static fun <T1 : Any, T2 : Any, T3 : Any, T4 : Any, T5 : Any> join(f1: Future<T1>, f2: Future<T2>, f3: Future<T3>, f4: Future<T4>, f5: Future<T5>): CompositeFuture`

Like `io.vertx.reactivex.core.CompositeFuture#join` but with 5 futures.

### Parameters

`f1` -

`f2` -

`f3` -

`f4` -

`f5` -

Return

`open static fun <T1 : Any, T2 : Any, T3 : Any, T4 : Any, T5 : Any, T6 : Any> join(f1: Future<T1>, f2: Future<T2>, f3: Future<T3>, f4: Future<T4>, f5: Future<T5>, f6: Future<T6>): CompositeFuture`

Like `io.vertx.reactivex.core.CompositeFuture#join` but with 6 futures.

### Parameters

`f1` -

`f2` -

`f3` -

`f4` -

`f5` -

`f6` -

Return

`open static fun join(futures: MutableList<Future<Any>>): CompositeFuture`

Like `io.vertx.reactivex.core.CompositeFuture#join` but with a list of futures.

When the list is empty, the returned future will be already completed.

### Parameters

`futures` -

Return