fetch<T> method

FutureOr<T> fetch<T>(
  1. AsyncField<T> asyncField
)

Fetches an asyncField value.

Implementation

FutureOr<T> fetch<T>(AsyncField<T> asyncField) {
  if (isClosed) {
    var value = asyncField.value;
    if (value != null) {
      return value;
    }

    try {
      return null as T;
    } catch (_) {
      throw StateError(
          "Closed `storage`: can't return `null` value @ AsyncField#${asyncField.id.key}");
    }
  }

  throw AsyncFieldError(
      'No fetcher for ${asyncField.runtimeType}', asyncField.id);
}