getCached method
Future<Cached>
getCached({
- required String id,
- required ReaderBuilder readerBuilder,
- DateTime? expireAt,
- CallbackOnProcess? onProcess,
getCached returns data use cache if id is same, if no cache, use readerBuilder to get new data, data save as file with ext,
data expire at expireAt, onProcess is 0.0 ~ 1.0
Implementation
Future<Cached> getCached({
required String id,
required ReaderBuilder readerBuilder,
DateTime? expireAt,
CallbackOnProcess? onProcess,
})async{
final cache = await _getCache(id);
if(cache != null){
return cache;
}
final src = await readerBuilder();
final cached = await _getCachedFromReader(src, src.ext, onProcess);
await _setCache(id, src.ext, cached.data, expireAt, null, src.meta);
return cached;
}