addExecution<R, C> method
FutureOr<R>
addExecution<R, C>(
- TransactionExecution<
R, C> exec, { - TransactionErrorResolver? errorResolver,
- Object? operation,
- String? debugInfo()?,
Implementation
FutureOr<R> addExecution<R, C>(TransactionExecution<R, C> exec,
{TransactionErrorResolver? errorResolver,
Object? operation,
String? Function()? debugInfo}) {
if (isFinished) {
throw StateError("Transaction already finished:\n$this");
}
if (_executionsFutures.isEmpty) {
var ret = _executeSafe(exec, operation, errorResolver, debugInfo);
_executionsFutures.add(ret);
return ret;
} else {
var last = _executionsFutures.last;
var ret = last.resolveWith(() {
return _executeSafe(exec, operation, errorResolver, debugInfo);
});
_executionsFutures.add(ret);
return ret;
}
}