Size: a a a

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

2020 October 20

🅵

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

🅵

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

🅵

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

🅵

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

КБ

Константин Буланов... in Flutter Developers — русскоговорящее сообщество
🅵🅾️🆇
Если тебя беспокоит это на уровне блока - то там для управления очередью надо оверрайднуть:
transformEvents и заменить там asyncExpand на собственный стрим трансформер
Не не не @PlugFox спасибо это мне рано. Мне нужно просто понять это нормальное поведение или нет. То есть если я вызываю event быстрее чем они могут завершиться и все это выстраивается в какую-то очередь этих eventов это не критично?
источник

CI

Captain Impact. in Flutter Developers — русскоговорящее сообщество
При большом желании,можно так настакать висячие запросы, что у тебя намертво повиснет приложение, а при большем везении ещё и телефон
источник

CI

Captain Impact. in Flutter Developers — русскоговорящее сообщество
То же самое касается всяких наслоений страниц, настакивания контроллеров и т.д.
источник

КБ

Константин Буланов... in Flutter Developers — русскоговорящее сообщество
То есть это не есть хорошо. Спасибо за пояснения.
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Константин Буланов
Не не не @PlugFox спасибо это мне рано. Мне нужно просто понять это нормальное поведение или нет. То есть если я вызываю event быстрее чем они могут завершиться и все это выстраивается в какую-то очередь этих eventов это не критично?
Да, в этом весь смысл
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Оно и ДОЛЖНО по умолчанию вставать в очередь в блоке
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
ПО УМОЛЧАНИЮ паралельно выполняющихся эвентов в блоке не будет.
Это специально так.
источник

КБ

Константин Буланов... in Flutter Developers — русскоговорящее сообщество
По вашим рекомендация упростил алгоритм. И теперь не каждый раз подключаюсь по новой к серверу для отправки данных, решил что в сессии будет быстрее. Еще раз спасибо за консультацию.
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Если ты хочешь другого поведения - оверрайдь transformEvents заменяя events.asyncExpand(transitionFn) ответсвенные за это
источник

CI

Captain Impact. in Flutter Developers — русскоговорящее сообщество
Провожу абстрактную аналогию из жизни.
Каждый день тебе дают 100$. Каждый раз ты их кладешь в тумбочку.
Звучит здорово, правда?
Но есть одно маленькое но. Ты не можешь их забирать из тумбочки, не говоря уж об исполнении.

Ты знаешь, что у тебя куча денег, и знаешь где они лежат, но ничего с ними сделать не можешь.

Спустя некоторое время тумбочка забьётся и ты не сможешь туда ничего засунуть
источник

КБ

Константин Буланов... in Flutter Developers — русскоговорящее сообщество
🅵🅾️🆇
Если ты хочешь другого поведения - оверрайдь transformEvents заменяя events.asyncExpand(transitionFn) ответсвенные за это
Или заюзать твою реализацию там стримов https://github.com/PlugFox/plugfox_transformers
источник

🅵

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

🅵

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

🅵

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

КБ

Константин Буланов... in Flutter Developers — русскоговорящее сообщество
А так вообще возможно вызывать Event?
if (event is EventStart) {
     timer = Timer.periodic(Duration(seconds: logDelay), (timer) {
       this..add(EventUpdate());
     });
     yield LoggerStart();
}
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Константин Буланов
А так вообще возможно вызывать Event?
if (event is EventStart) {
     timer = Timer.periodic(Duration(seconds: logDelay), (timer) {
       this..add(EventUpdate());
     });
     yield LoggerStart();
}
Ну мне кажется у тебя сама идея хромает)
источник