tryExecuteAsync<T> static method

Future<RxResult<T>> tryExecuteAsync<T>(
  1. Future<T> operation(), [
  2. String? context
])

Try to execute an async function and wrap result

Implementation

static Future<RxResult<T>> tryExecuteAsync<T>(
  Future<T> Function() operation, [
  String? context,
]) async {
  try {
    final result = await operation();
    return RxResult.success(result);
  } catch (e, stack) {
    final message =
        context != null ? 'Failed to $context' : 'Async operation failed';
    return RxResult.failure(RxException.withTimestamp(
      message,
      originalError: e,
      stackTrace: stack,
    ));
  }
}