refresh method
Triggers the future builder again, transitioning state back to loading.
Always completes successfully — a failure is reported through
state as an AsyncError, not by throwing, so it's safe to pass
directly as e.g. RefreshIndicator.onRefresh without a try/catch.
Check state.hasError (or use AsyncValue.when) if you need to
react to a failed refresh.
Implementation
Future<void> refresh() => _refresh(rethrowError: false);