guardoAsyncActionWithResult<T>  method 
      
Future<T?> 
guardoAsyncActionWithResult<T>({  
    
- required Future<T> onSuccess(),
- Future<T> onFailure(- Object exception
 
- String? reason,
- GuardoConfig? config,
- GuardoService? guardoService,
Protects an async action with biometric authentication and returns a result
This method will prompt the user for biometric authentication and execute the appropriate async callback based on the result, returning the result.
Example usage:
final result = await context.guardoAsyncActionWithResult<String>(
  onSuccess: () async => await _fetchSecureData(),
  onFailure: (exception) async => 'Failed to authenticate: $exception',
  reason: 'Please authenticate to access secure data',
);
Implementation
Future<T?> guardoAsyncActionWithResult<T>({
  required Future<T> Function() onSuccess,
  Future<T> Function(Object exception)? onFailure,
  String? reason,
  GuardoConfig? config,
  GuardoService? guardoService,
}) async {
  try {
    final authenticated = await _performAuthentication(
      guardoService: guardoService,
      config: config,
      reason: reason,
    );
    if (authenticated) {
      return await onSuccess();
    } else {
      return await onFailure?.call(
        const AuthenticationFailedException(
          'Authentication was cancelled or failed',
        ),
      );
    }
  } catch (e) {
    return await onFailure?.call(e);
  }
}