Size: a a a

Dart & Flutter по-русски

2020 May 22

EE

Evgenii Elchev in Dart & Flutter по-русски
Константин Буланов
Тогда не понимаю как мне сделать автоматический переход на другой экран при смене на нужное состояния в BLoC.
BlockListener
источник

КБ

Константин Буланов... in Dart & Flutter по-русски
Evgenii Elchev
BlockListener
Спасибо уже тоже допер, но в моем случае логичнее BlocConsumer походу.
источник

AP

Anatoly Politsin in Dart & Flutter по-русски
У меня нубский вопрос:
сделал 2 функции
Future<void> http() async {...}
Future<int> mqtt() async {...}

как мне сделать чтобы они работали вместе параллельно. Так не сработало 🙈:
Future<void> main() async {
 await http();
 await mqtt();
}
источник

M

Max in Dart & Flutter по-русски
Future.wait()
источник

КБ

Константин Буланов... in Dart & Flutter по-русски
Anatoly Politsin
У меня нубский вопрос:
сделал 2 функции
Future<void> http() async {...}
Future<int> mqtt() async {...}

как мне сделать чтобы они работали вместе параллельно. Так не сработало 🙈:
Future<void> main() async {
 await http();
 await mqtt();
}
наверное через .then. Или организовывать STREAM и слушать его.
источник

M

Max in Dart & Flutter по-русски
Константин Буланов
наверное через .then. Или организовывать STREAM и слушать его.
Через then - это последовательно, а не параллельно
источник

AP

Anatoly Politsin in Dart & Flutter по-русски
А где про это почитать?
https://dart.dev/codelabs/async-await - вот тут такие моменты не разбираются.
источник

AP

Anatoly Politsin in Dart & Flutter по-русски
или какие-то примеры с гитхаба?
источник

EC

Evgeny Cherkasov in Dart & Flutter по-русски
Anatoly Politsin
У меня нубский вопрос:
сделал 2 функции
Future<void> http() async {...}
Future<int> mqtt() async {...}

как мне сделать чтобы они работали вместе параллельно. Так не сработало 🙈:
Future<void> main() async {
 await http();
 await mqtt();
}
await убрать.
но именно параллельно они все равно не будут работать )
источник

OP

Oleg Pchelkin in Dart & Flutter по-русски
Anatoly Politsin
У меня нубский вопрос:
сделал 2 функции
Future<void> http() async {...}
Future<int> mqtt() async {...}

как мне сделать чтобы они работали вместе параллельно. Так не сработало 🙈:
Future<void> main() async {
 await http();
 await mqtt();
}
если ты пишешь await - ты ждешь окончания функции.
источник

AP

Anatoly Politsin in Dart & Flutter по-русски
Evgeny Cherkasov
await убрать.
но именно параллельно они все равно не будут работать )
о! спасибо
источник

M

Max in Dart & Flutter по-русски
Почитать в спецификации объекта Future, глобальный метод wait
источник

AP

Anatoly Politsin in Dart & Flutter по-русски
без await'a -  достаточный уровень "паралельности" =)
источник

OP

Oleg Pchelkin in Dart & Flutter по-русски
там же в статье прям про await и async нормально описано
источник

M

Max in Dart & Flutter по-русски
Max
Future.wait()
Я написал сразу вслед за вопросом, полный, точный и окончательный ответ. В чём смысл последующего обсуждения?
источник

AP

Anatoly Politsin in Dart & Flutter по-русски
Oleg Pchelkin
там же в статье прям про await и async нормально описано
да я просто 2й день с дартом и 1й день с "асинхронностью"
источник

M

Max in Dart & Flutter по-русски
Anatoly Politsin
да я просто 2й день с дартом и 1й день с "асинхронностью"
В Dart предусмотрен специальный механизм для сформулированной тобой задачи.
источник

AP

Anatoly Politsin in Dart & Flutter по-русски
я не понял как сделать Future.wait() - к чему это применить. Быстро погуглил про wait и проще не стало
источник

EC

Evgeny Cherkasov in Dart & Flutter по-русски
Max
Я написал сразу вслед за вопросом, полный, точный и окончательный ответ. В чём смысл последующего обсуждения?
В вопросе не было задачи дождаться результата выполнения обеих асинхронных функций
источник

OP

Oleg Pchelkin in Dart & Flutter по-русски
Anatoly Politsin
я не понял как сделать Future.wait() - к чему это применить. Быстро погуглил про wait и проще не стало
wait нужен когда ты ждешь результата выполнения твоих асинхронных методов чтобы что то сделать с ним (например получить часть данных из локальной БД и часть с веба и потом их как то смержить). Но в твоем случае смысла нет в wait никакого
источник