Skip to content

Instance Method

flatten(_:)

Returns a new EventLoopFuture that succeeds only when all the provided futures succeed. The new EventLoopFuture contains an array of results, maintaining same ordering as the futures.
func flatten<T>(_ futures: [EventLoopFuture<T>]) -> EventLoopFuture<[T]>

Parameters

futures

An array of futures to flatten into a single EventLoopFuture.

Return Value

A new EventLoopFuture with all the resolved values of the input collection.

Discussion

The returned EventLoopFuture will fail if any of the provided futures fails. All remaining EventLoopFuture objects will be ignored.

See Also

EventLoop and EventLoopGroup

  • flatten(_:)
    Returns a new EventLoopFuture that succeeds only when all the provided futures succeed, ignoring the resolved values.
  • future()
    Creates a new, succeeded EventLoopFuture from the worker’s event loop with a Void value.
  • future(error:)
    Creates a new, failed EventLoopFuture from the worker’s event loop.
  • future(_:)
    Creates a new, succeeded EventLoopFuture from the worker’s event loop.
  • future(result:)
    Creates a new Future from the worker’s event loop, succeeded or failed based on the input Result.
  • tryFuture(_:)
    An alternate name for this would be future(catching:), but with that name, trailing closure syntax just looks like el.future { ... }, which does not indicate to readers of the code that it is the error-capturing version. Since such an indication is highly desirable, a slightly less idiomatic name is used instead.