asyncFlatMap<R> method

Future<Result<R>> asyncFlatMap<R>(
  1. Future<Result<R>> transform(
    1. T data
    )
)

Like asyncMap but transform returns its own Result, allowing async failures to short-circuit without nesting Future<Result<Result<R>>>.

Implementation

Future<Result<R>> asyncFlatMap<R>(
  Future<Result<R>> Function(T data) transform,
) =>
    switch (this) {
      Success<T>(:final data) => transform(data),
      Error<T>(:final failure) => Future.value(Error<R>(failure)),
    };