tryOrElse<T> function

Future<Optional<T>> tryOrElse<T>(
  1. TryFutureFunction<T> future, {
  2. Optional<T> elseValue = const Optional.empty(),
})

tryOrElse allows to get an elseValue when a future throws an error.

Implementation

Future<Optional<T>> tryOrElse<T>(TryFutureFunction<T> future,
    {Optional<T> elseValue = const Optional.empty()}) async {
  try {
    return Optional.ofNullable(await future());
  } catch (e) {
    return elseValue;
  }
}