При нажатии кнопки на странице А открывается страница выбора файла, где выбирается путь к файлу. Затем он возвращается на страницу A и получает путь к файлу. Путь необходимо загрузить на сервер. На странице во всплывающем сообщении отображается только статус загрузки. Если страница не отслеживает этот FutureProvider, он будет автоматически удален, что приведет к ошибке отмены пользователем и отмене загрузки. Как можно объединить FutureProvider с семейством для реализации логики загрузки?
Более того, значение пути является динамическим. Как мы можем гарантировать, что filePath, передаваемый в ref.watch(uploadProvider(filePath)) и ref.read(uploadProvider(filePath).future), один и тот же? Нужно ли нам определять переменную-член для записи пути к файлу? Однако время выполнения просмотра раньше, чем время чтения, и значение filePath, полученное в разное время, может быть разным.
надеемся получить решение проблемы в сценарии с участием FutureProvider .autoDispose.family и несколько подробных примеров использования. Спасибо за помощь.
final uploadProvider =
FutureProvider.autoDispose.family((ref, filePath) async {
Logger.instance.d("import start:$filePath");
final cancelToken = MyCancelToken();
ref.onDispose(() {
// Logger.instance.d("upload cancel token onCancel");
// cancelToken.cancel();
});
final noteRepository = ref.watch(noteRepositoryProvider);
final retImport = await noteRepository.upload(filePath, cancelToken);
return retImport;
});
_handleUploadPressed() async {
var ret = await ref.read(uploadProvider(selectedFilePath).future);
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... pse-family
Flutter_riverpod: как использовать FutureProvider.autoDisopse.family ⇐ Android
Форум для тех, кто программирует под Android
1736584276
Anonymous
При нажатии кнопки на странице А открывается страница выбора файла, где выбирается путь к файлу. Затем он возвращается на страницу A и получает путь к файлу. Путь необходимо загрузить на сервер. На странице во всплывающем сообщении отображается только статус загрузки. Если страница не отслеживает этот FutureProvider, он будет автоматически удален, что приведет к ошибке отмены пользователем и отмене загрузки. Как можно объединить FutureProvider с семейством для реализации логики загрузки?
Более того, значение пути является динамическим. Как мы можем гарантировать, что filePath, передаваемый в ref.watch(uploadProvider(filePath)) и ref.read(uploadProvider(filePath).future), один и тот же? Нужно ли нам определять переменную-член для записи пути к файлу? Однако время выполнения просмотра раньше, чем время чтения, и значение filePath, полученное в разное время, может быть разным.
надеемся получить решение проблемы в сценарии с участием FutureProvider .autoDispose.family и несколько подробных примеров использования. Спасибо за помощь.
final uploadProvider =
FutureProvider.autoDispose.family((ref, filePath) async {
Logger.instance.d("import start:$filePath");
final cancelToken = MyCancelToken();
ref.onDispose(() {
// Logger.instance.d("upload cancel token onCancel");
// cancelToken.cancel();
});
final noteRepository = ref.watch(noteRepositoryProvider);
final retImport = await noteRepository.upload(filePath, cancelToken);
return retImport;
});
_handleUploadPressed() async {
var ret = await ref.read(uploadProvider(selectedFilePath).future);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79323373/flutter-riverpod-how-to-use-futureprovider-autodisopse-family[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия