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);
    }
});

Как я могу решить эту проблему?

0 ответов

Другие вопросы по тегам