update method
Update data by newData
.
Set isQuiet = true
to avoid rendering loading state, default false
.
Implementation
Future<void> update(T newData, {bool isQuiet = false}) async {
_error = null;
_isUpdating = true;
if (_isMounted && !isQuiet) notifyListeners();
try {
final result = await onUpdate(newData);
_data = result;
if (_awaitListener) {
await onUpdateCompleted(result);
} else {
onUpdateCompleted(result);
}
} catch (e) {
_error = e;
if (_awaitListener) {
await onUpdateFailed(e);
} else {
onUpdateFailed(e);
}
}
_isUpdating = false;
if (_isMounted && !isQuiet) notifyListeners();
}