Size: a a a

Flutter Developers — русскоговорящее сообщество

2020 February 17

r

roman G in Flutter Developers — русскоговорящее сообщество
await перед запросом в сеть соответсвенно нужен для того чтобы я мог ставить статус загрузки фотографий
и была последовательная загрузка
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
roman G
Есть экран, на котором есть 5 картинок, которые нужно загрузить последовательно(и показывать лоадер если картинка загружается). Так же у пользователя есть возможность во время загрузки фотографий нажать на кнопку «Завершить сейчас(сценарий пользования)» при нажатии на которую я останавливаю загрузку фотографий и делаю другой запрос к апи

могу ли я отменить await?

код такой:
if (event is SendPhotoEvent) {
 for (Photo p in loadPhotos) {
   p.loadingStatus = p.loadingStatus.clone(value: () => true, inProgress: true);//Устанавливаю статус лоадера в true
   await _api.sendPhoto(p);

   p.loadingStatus = p.loadingStatus.clone(value: () => true, inProgress: false);
   yield UploadPhotoState(photos: _photos);
 }
}
есть CancelableCompleter, в него можно добавить свой Future, ну и чтобы отменить нужно что-то вроде completer.operation.cancel()
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Ну и отменить нельзя, если что)
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
почему нельзя?
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Igor Petushkov
почему нельзя?
Future не отменяются, только игнорируются
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Ну исключение (возможно) timeout
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
Future обычные да, но не CancelableCompleter
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Igor Petushkov
Future обычные да, но не CancelableCompleter
Проверял?)
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
ну ты попробуй
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Ну былоб оно дарт - попробывал бы)
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Ну ок, сча расчехлю дартпад
источник

r

roman G in Flutter Developers — русскоговорящее сообщество
Igor Petushkov
есть CancelableCompleter, в него можно добавить свой Future, ну и чтобы отменить нужно что-то вроде completer.operation.cancel()
ого, спасибо
и где в таком случае у меня будет CancelableCompleter? Если я отменю текущий await у меня еще есть другие фотографии в for
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
roman G
ого, спасибо
и где в таком случае у меня будет CancelableCompleter? Если я отменю текущий await у меня еще есть другие фотографии в for
тут в одну строчку я тебе код не напишу) гугли как использовать и пробуй
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
плюс у тебя флаттер_блок, как я понимаю, возможно тут проще тебе будет использовать стримы, которые так же можно стопать
источник

r

roman G in Flutter Developers — русскоговорящее сообщество
я просто думаю мб я вообще неправильный подход к поочередной загрузки фотографий подошел
и можо сделать проще
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
roman G
я просто думаю мб я вообще неправильный подход к поочередной загрузки фотографий подошел
и можо сделать проще
этих подходов много, главное сделать хотя бы один рабочий)
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Оно в этом вот пакете, судя по всему
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Igor Petushkov
этих подходов много, главное сделать хотя бы один рабочий)
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Твои оправдания?)
источник