fetch method

Future<void> fetch()

Fetch data fromNetwork.

Implementation

Future<void> fetch() async {
  if (isLocked) return;
  _setLocked(true);

  _emit(state.copyWith(isLoading: true));

  try {
    await for (final event in fromNetwork()) {
      _updateLastUpdated();
      _emit(Data(value: event));
      toMemory?.call(event);
      await toStorage?.call(event);
    }
  } catch (e, s) {
    _updateLastUpdated();
    onError(e, s);
  } finally {
    _emit(state.copyWith(isLoading: false));
  }

  _setLocked(false);
}