getCachedAsyncNullable method

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

Implementation

FutureOr<V?> getCachedAsyncNullable(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) {
    if (val == null) return null;
    this[key] = val;
    return val;
  });
}