Skip to content

Instance Method

optionalMap(_:)

Calls a closure on an optional value that is wrapped in an EventLoopFuture if it exists.
func optionalMap<Wrapped, Result>(_ closure: @escaping (Wrapped) -> Result?) -> EventLoopFuture<Result?> where Value == Wrapped?

Parameters

closure

The closure function that the optional value will be passed into.

Return Value

The result of the closure passed into the method (or nil), wrapped in an EventLoopFuture.

Discussion

let optional = eventLoop.future(Optional<Int>.some(42))
let some = optional.optionalMap { int -> Float in
    return int * 3.14
}
// some: EventLoopFuture(Optional(131.88))

See Also

EventLoopFuture

  • EventLoopFutureQueue
    Allows you to queue closures that produce an EventLoopFuture, 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 an EventLoopFuture.
  • mapEach(_:)
    Calls a closure on each element in the sequence that is wrapped by an EventLoopFuture.
  • mapEachCompact(_:)
    Gets the optional value of a key path for each element in the sequence that is wrapped by an EventLoopFuture.
  • mapEachCompact(_:)
    Calls a closure, which returns an Optional, on each element in the sequence that is wrapped by an EventLoopFuture.
  • mapEachFlat(_:)
    Gets the collection value of a key path for each element in the sequence that is wrapped by an EventLoopFuture, 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 an EventLoopFuture, combining the results into a single result collection.
  • flatMapEach(on:_:)
    Calls a closure, which returns an EventLoopFuture, on each element in a sequence that is wrapped by an EventLoopFuture. No results from each future are expected.
  • flatMapEach(on:_:)
    Calls a closure, which returns an EventLoopFuture, on each element in a sequence that is wrapped by an EventLoopFuture.
  • flatMapEachCompact(on:_:)
    Calls a closure, which returns an EventLoopFuture<Optional>, on each element in a sequence that is wrapped by an EventLoopFuture.
  • flatMapEachThrowing(_:)
    Calls a closure on each element in the sequence that is wrapped by an EventLoopFuture.
  • flatMapEachCompactThrowing(_:)
    Calls a closure, which returns an Optional, on each element in the sequence that is wrapped by an EventLoopFuture.
  • sequencedFlatMapEach(_:)
    An overload of sequencedFlatMapEach(_:) which returns a Void future instead of [Void] when the result type of the transform closure is Void.
  • sequencedFlatMapEach(_:)
    A variant form of flatMapEach(on:_:) which guarantees:
  • sequencedFlatMapEachCompact(_:)
    Variant of sequencedFlatMapEach(_:) which provides compactMap() semantics by allowing result values to be nil. Such results are not included in the output array.