executeAsync<T> method

Future<Result<T>> executeAsync<T>(
  1. Future<T> operation(), {
  2. String? context,
})

Executes an asynchronous operation block tracking a standard Dart Future pipeline.

Resolves the continuous asynchronous execution flow, intercepting potential host exceptions or server breakdowns, returning a wrapped Result object state downstream.

Implementation

Future<Result<T>> executeAsync<T>(
  Future<T> Function() operation, {
  String? context,
}) async {
  try {
    final data = await operation();
    _logger.info(
        'Async operation successful${context != null ? " in $context" : ""}');
    return Result.success(data);
  } catch (e, stackTrace) {
    return _handleError<T>(e, stackTrace, context);
  }
}