Size: a a a

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

2021 February 05

🅵

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

🅵

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

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Stream<int> doSomething() async* {
 yield 1;
 await Future.delayed<void>(const Duration(seconds: 1));
 yield 2;
 await Future.delayed<void>(const Duration(seconds: 1));
 yield 3;
}
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Ну и синхронный вариант

Iterable<int> doSomething() sync* {
 yield 1;
 await Future.delayed<void>(const Duration(seconds: 1));
 yield 2;
 await Future.delayed<void>(const Duration(seconds: 1));
 yield 3;
}
источник

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
ну так асинхронный это стрим же
источник

🅵

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

🅵

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

🅵

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

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
ну на стрим надо подписываться
источник

🅵

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

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
типа делать final sub = doSomethind().listen
источник

🅵

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

🅵

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

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Вызывается, к примеру, так:

await for (final result in doSomething()) {
  print(result);
}
источник

🅵

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

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
for (final result in doSomething()) {
  print(result);
}
источник

🅵

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

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Denis Chuvasov
типа делать final sub = doSomethind().listen
так делать имеет +- смысл когда у тебя бесконечный стрим, чтоб ты мог сказать: "мне больше он не инетресен, гарбадж коллектор собирай"
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
а в данном случае ты знаешь что он довольно быстро завершится и что он тебе нужен от и до
источник

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
ну типа если у тебя будет
await for (final result in doSomething()) {
  print(result);
}
someLogic();
То
someLogic не вызовется пока await не закончится
источник