getCachedAsync method

FutureOr<V> getCachedAsync(
  1. K key,
  2. FutureOr<V> computer(), {
  3. int? cacheLimit,
})

Same as getCached but accepts a computer that returns a Future. See checkCachedEntry, checkCacheLimit and getCachedAsync.

Implementation

FutureOr<V> getCachedAsync(K key, FutureOr<V> Function() computer,
    {int? cacheLimit}) {
  checkCachedEntry(key);

  var cached = this[key];
  if (cached != null) return cached;

  checkCacheLimit(cacheLimit);

  return computer().resolveMapped((val) {
    this[key] = val;
    return val;
  });
}