Instance Method
optionalFlatMap(_:)
Calls a closure on an optional value in an
EventLoopFuture if it exists.func optionalFlatMap<Wrapped, Result>(_ closure: @escaping (Wrapped) -> EventLoopFuture<Result>) -> EventLoopFuture<Result?> where Value == Wrapped?
Parameters
closureThe closure to call on the unwrapped optional value.
Return Value
The result of the closure if the optional was unwrapped, or nil if it wasn’t, wrapped in an EventLoopFuture.
Discussion
let optional = eventLoop.future(Optiona<Int>.some(42))
let some = optional.optionalFlatMap { int -> EventLoopFuture<Float> in
return int * 3.14
}
// some: EventLoopFuture(Optional(131.88))
See Also
EventLoopFuture
EventLoopFutureQueueAllows you to queue closures that produce anEventLoopFuture, so each future only gets run if the previous ones complete, succeed, or fail.mapEach(_:)Gets the value of a key path for each element in the sequence that is wrapped by anEventLoopFuture.mapEach(_:)Calls a closure on each element in the sequence that is wrapped by anEventLoopFuture.mapEachCompact(_:)Gets the optional value of a key path for each element in the sequence that is wrapped by anEventLoopFuture.mapEachCompact(_:)Calls a closure, which returns anOptional, on each element in the sequence that is wrapped by anEventLoopFuture.mapEachFlat(_:)Gets the collection value of a key path for each element in the sequence that is wrapped by anEventLoopFuture, combining the results into a single result collection.mapEachFlat(_:)Calls a closure which returns a collection on each element in the sequence that is wrapped by anEventLoopFuture, combining the results into a single result collection.flatMapEach(on:_:)Calls a closure, which returns anEventLoopFuture, on each element in a sequence that is wrapped by anEventLoopFuture. No results from each future are expected.flatMapEach(on:_:)Calls a closure, which returns anEventLoopFuture, on each element in a sequence that is wrapped by anEventLoopFuture.flatMapEachCompact(on:_:)Calls a closure, which returns anEventLoopFuture<Optional>, on each element in a sequence that is wrapped by anEventLoopFuture.flatMapEachThrowing(_:)Calls a closure on each element in the sequence that is wrapped by anEventLoopFuture.flatMapEachCompactThrowing(_:)Calls a closure, which returns anOptional, on each element in the sequence that is wrapped by anEventLoopFuture.sequencedFlatMapEach(_:)An overload ofsequencedFlatMapEach(_:)which returns aVoidfuture instead of[Void]when the result type of the transform closure isVoid.sequencedFlatMapEach(_:)A variant form offlatMapEach(on:_:)which guarantees:sequencedFlatMapEachCompact(_:)Variant ofsequencedFlatMapEach(_:)which providescompactMap()semantics by allowing result values to benil. Such results are not included in the output array.