run<T> static method
T
run<T>(
- T fn()
Runs a function within a transaction (batches notifications)
Implementation
static T run<T>(T Function() fn) {
_transactionDepth++;
final wasInTransaction = _inTransaction;
_inTransaction = true;
try {
return fn();
} finally {
_transactionDepth--;
if (_transactionDepth == 0) {
_inTransaction = false;
_flushPending();
} else if (!wasInTransaction) {
_inTransaction = false;
}
}
}