runTransaction method

Future<TransactionResult> runTransaction(
  1. TransactionHandler transactionHandler, {
  2. Duration timeout = const Duration(seconds: 5),
})

Performs an optimistic-concurrency transactional update to the data at this Firebase Database location.

Implementation

Future<TransactionResult> runTransaction(
  TransactionHandler transactionHandler, {
  Duration timeout = const Duration(seconds: 5),
}) async {
  TransactionResultPlatform transactionResult =
      await _databaseReferencePlatform.runTransaction(
    transactionHandler,
    timeout: timeout,
  );
  return TransactionResult._(
    transactionResult.error == null
        ? null
        : DatabaseError._(transactionResult.error!),
    transactionResult.committed,
    DataSnapshot._(transactionResult.dataSnapshot),
  );
}