registerChangeCallback method
Registers for a callback that will be invoked when the entry has changed. hasChanged MUST be set before the callback is invoked.
Implementation
@override
IDisposable registerChangeCallback(
void Function(Object? state) callback,
Object? state,
) {
if (_hasChanged) {
// If already changed, invoke callback immediately
try {
callback(state);
} catch (e) {
// Ignore callback exceptions
}
return _CallbackDisposable(this, null);
}
final registration = _CallbackRegistration(callback, state);
_callbacks.add(registration);
// Start polling when first callback is registered
if (_callbacks.length == 1) {
_startPolling();
}
return _CallbackDisposable(this, registration);
}