File tree Expand file tree Collapse file tree 1 file changed +9
-7
lines changed
flutter_cache_manager/lib/src Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -65,23 +65,25 @@ class CacheStore {
65
65
}
66
66
67
67
Future <CacheObject > retrieveCacheData (String url,
68
- {bool ignoreMemCache = false }) {
68
+ {bool ignoreMemCache = false }) async {
69
69
if (! ignoreMemCache && _memCache.containsKey (url)) {
70
- return Future .value (_memCache[url]);
70
+ if (await _fileExists (_memCache[url])){
71
+ return _memCache[url];
72
+ }
71
73
}
72
74
if (! _futureCache.containsKey (url)) {
73
75
final completer = Completer <CacheObject >();
74
- _getCacheDataFromDatabase (url).then ((cacheObject) async {
76
+ unawaited ( _getCacheDataFromDatabase (url).then ((cacheObject) async {
75
77
if (cacheObject != null && ! await _fileExists (cacheObject)) {
76
78
final provider = await _cacheInfoRepository;
77
- unawaited ( provider.delete (cacheObject.id) );
79
+ await provider.delete (cacheObject.id);
78
80
cacheObject = null ;
79
81
}
80
- completer.complete (cacheObject);
81
-
82
+
82
83
_memCache[url] = cacheObject;
84
+ completer.complete (cacheObject);
83
85
unawaited (_futureCache.remove (url));
84
- });
86
+ })) ;
85
87
_futureCache[url] = completer.future;
86
88
}
87
89
return _futureCache[url];
You can’t perform that action at this time.
0 commit comments