FUtureProvider был удален до того, как значение было отправлено
Я написал следующий код и столкнулся с ошибкойThe provider AutoDisposeFutureProvider<Data>#d1e31(465-0041) was disposed before a value was emitted.
Я подумал, что это странно, поэтому я отладил FutureProvider.onDispose
и обнаружил, что он был удален во время ожидания вызова API, что подтверждается выводомdisposed!
class HogeNotifier extends StateNotifier<Hoge> {
onFormSubmitted(String input) async {
final value = await _reader(searchProvider(input).future); // The provider AutoDisposeFutureProvider<Data>#d1e31(465-0041) was disposed before a value was emitted.
// execute by using value
}
}
final searchProvider =
FutureProvider.autoDispose.family<Data, String>((ref, value) async {
ref.onDispose(() {
print("disposed!");
});
try {
final result = await dataSource.find(keyword: value); //call api asynchronously
return Future.value(result);
} on Exception catch (e) {
return Future<Data>.error(e);
}
});
Как я могу решить эту проблему?