fix dispose issue on read

This commit is contained in:
Fabian Freund
2025-07-27 15:35:06 +02:00
parent 0364cbe7ff
commit ebf0500f29
3 changed files with 8 additions and 4 deletions
+3 -1
View File
@@ -23,7 +23,7 @@ import 'package:riverpod/riverpod.dart';
extension CacheForExtension on Ref {
/// Keeps the provider alive for [duration].
void cacheFor(Duration duration) {
KeepAliveLink cacheFor(Duration duration) {
// Immediately prevent the state from getting destroyed.
final link = keepAlive();
// After duration has elapsed, we re-enable automatic disposal.
@@ -32,5 +32,7 @@ extension CacheForExtension on Ref {
// Optional: when the provider is recomputed (such as with ref.watch),
// we cancel the pending timer.
onDispose(timer.cancel);
return link;
}
}