fetch method
- Future<
T> callback()
Returns a cached value from a previous call to fetch, or runs callback
to compute a new one.
If fetch has been called recently enough, returns its previous return
value. Otherwise, runs callback
and returns its new return value.
Implementation
Future<T> fetch(Future<T> Function() callback) async {
if (_cachedStreamSplitter != null) {
throw StateError('Previously used to cache via `fetchStream`');
}
return _cachedValueFuture ??= callback()
..whenComplete(_startStaleTimer).ignore();
}