Size: a a a

Kotlin Community

2020 March 05

AN

Alexander Nozik in Kotlin Community
главное не играть в РХера и не перебарщивать с Flow там, где он не нужен
источник

AF

Alex F. in Kotlin Community
Мне кажется я вас уже запутал=(
У меня так и было, все операторы Flow были на Default dispatcher, а collect вызывался на Main(На Android он и есть UI)
источник

AF

Alex F. in Kotlin Community
Идея в том, что вся обработка данных идет внутри операторов Flow, а в collect у меня готовый результат.
источник

DB

Dmitro Boiko in Kotlin Community
а что смущает?
источник

BP

Bogdan Panchenko in Kotlin Community
Alex F.
Идея в том, что вся обработка данных идет внутри операторов Flow, а в collect у меня готовый результат.
Идея в том что данные в юай могут поступать постепенно ?
источник

AN

Alexander Nozik in Kotlin Community
Bogdan Panchenko
Идея в том что данные в юай могут поступать постепенно ?
Я тоже так сначала подумал, но, судя по всему, нет
источник

AN

Alexander Nozik in Kotlin Community
Alex F.
Идея в том, что вся обработка данных идет внутри операторов Flow, а в collect у меня готовый результат.
То есть у вас внутри flow стоит терминальная операция. Какой смысл во Flow тогда?
источник

AF

Alex F. in Kotlin Community
Bogdan Panchenko
Идея в том что данные в юай могут поступать постепенно ?
Да, флоу эммитит данные которые приходят в него из сокета.
Это будет происходить, пока пользователь не покинет экран или не пропадет соединение.
Данные -  это список сущностей, которые постоянно обновлятся. И приходит не весь список за раз, а по несколько штук только.
источник

AN

Alexander Nozik in Kotlin Community
Alex F.
Да, флоу эммитит данные которые приходят в него из сокета.
Это будет происходить, пока пользователь не покинет экран или не пропадет соединение.
Данные -  это список сущностей, которые постоянно обновлятся. И приходит не весь список за раз, а по несколько штук только.
На отображение они сразу все отправляются или кусками?
источник

AF

Alex F. in Kotlin Community
Alexander Nozik
То есть у вас внутри flow стоит терминальная операция. Какой смысл во Flow тогда?
почему внутри flow?
терминальная операция одна - collect
источник

AN

Alexander Nozik in Kotlin Community
Alex F.
почему внутри flow?
терминальная операция одна - collect
сортировка - терминальная
источник

AF

Alex F. in Kotlin Community
Alexander Nozik
На отображение они сразу все отправляются или кусками?
на отображение уходит весь актуальный список на данный момент.
То есть приходят новые данные, мы обновляем список(добавляем элементы или обновляем)
источник

AF

Alex F. in Kotlin Community
Alexander Nozik
сортировка - терминальная
я думал, что сортировка это просто один из этапов обработки данных.
источник

AN

Alexander Nozik in Kotlin Community
Alex F.
я думал, что сортировка это просто один из этапов обработки данных.
Вы не можете сделать сортировку, не собирая все. Если вы делаете сортировку, а потом эмитите заново, то вы ждете всех элементов
источник

AF

Alex F. in Kotlin Community
Alexander Nozik
Вы не можете сделать сортировку, не собирая все. Если вы делаете сортировку, а потом эмитите заново, то вы ждете всех элементов
У меня есть слой данных - оттуда Flow эммитит данные по-кусочкам.
Далее на слое логики, в downstrem операторах, у меня эти данные собираются в один список, сортируются.
Далее эти данные уходят в collect который на UI.
Если не вдваться в оптимизации, которые тоже есть сейчас в операторах на слое логики, то каждый новопришедший элемент вызывает пересортировку всего и отдачу отсортированных данных в терминальный collect.
источник

KZ

Konstantin Zolotov in Kotlin Community
Можно же накапливать и сортировать то, что накоплено сейчас, какой-нибудь scan пойдет, например
источник

AF

Alex F. in Kotlin Community
Konstantin Zolotov
Можно же накапливать и сортировать то, что накоплено сейчас, какой-нибудь scan пойдет, например
Я на него смотерел. Но так как поток данных не конечный, как мне перстать накапливать данные обработать, то что накопилось?
источник

AN

Alexander Nozik in Kotlin Community
Alex F.
У меня есть слой данных - оттуда Flow эммитит данные по-кусочкам.
Далее на слое логики, в downstrem операторах, у меня эти данные собираются в один список, сортируются.
Далее эти данные уходят в collect который на UI.
Если не вдваться в оптимизации, которые тоже есть сейчас в операторах на слое логики, то каждый новопришедший элемент вызывает пересортировку всего и отдачу отсортированных данных в терминальный collect.
Я в ваших клинах ничего не понимаю и понимать не хочу. Но смысл в том, что или вы фрагментируете данные, и сортрируете только то, что пришло на данный момент, либо вы сортируете на каждый приход, но тогда коллектор должен быть внешним, либо вы ждете всего
источник

KZ

Konstantin Zolotov in Kotlin Community
Alex F.
Я на него смотерел. Но так как поток данных не конечный, как мне перстать накапливать данные обработать, то что накопилось?
А когда надо перестать?
источник

AN

Alexander Nozik in Kotlin Community
Alex F.
Я на него смотерел. Но так как поток данных не конечный, как мне перстать накапливать данные обработать, то что накопилось?
в скане редуктор сидит
источник