Size: a a a

StartAndroid Ru RxJava

2020 October 15

s

someone_guy in StartAndroid Ru RxJava
Mikhail Ershov
Допустим есть Subject

var items = BehaviorSubject.create<AsyncPack<ItemsResponse>>()

как сделать эмит дефолтного значения, если этот subject пустой, в него не передавали значений.
При этом желательно, чтобы последующие подписки на этот subject не видели дефолтное значение
источник

ME

Mikhail Ershov in StartAndroid Ru RxJava
Я тоже думал об этом, но отсутствие эмита от subject
источник

ME

Mikhail Ershov in StartAndroid Ru RxJava
не дает эмита дальше по цепочке, в том числе от defaultifempty
источник

ME

Mikhail Ershov in StartAndroid Ru RxJava
источник

s

someone_guy in StartAndroid Ru RxJava
Mikhail Ershov
Я тоже думал об этом, но отсутствие эмита от subject
А, понял. Мб как-то через флэтмап можно в последовательность что-то вкорячить, я тоже как-то пытался но так и не допер, в итоге закостылил в точке входа в цепочку нужный мне эмит
источник

ME

Mikhail Ershov in StartAndroid Ru RxJava
я сделал проверку значения
// Kotlin
   fun getItems(): Observable<MutableList<ItemsEntity>> =
       if (itemsSubject.value != null) {
           itemsSubject
               .map { /* ... */ }
       } else {
           Observable.just(mutableListOf<ItemsEntity>())
       }
источник

ME

Mikhail Ershov in StartAndroid Ru RxJava
но кажется это можно написать изящнее через rxjava
источник

ME

Mikhail Ershov in StartAndroid Ru RxJava
Observable.merge(itemsSubject, Observable.just(DEFAULT_ITEM))
           .firstElement()
           .map { /* ... */ }

либо так тоже работает,
я надеюсь невозможна ситуация, что DEFAULT_ITEM обгонит и перекроет значение из сабжекта
источник

s

someone_guy in StartAndroid Ru RxJava
Mikhail Ershov
Observable.merge(itemsSubject, Observable.just(DEFAULT_ITEM))
           .firstElement()
           .map { /* ... */ }

либо так тоже работает,
я надеюсь невозможна ситуация, что DEFAULT_ITEM обгонит и перекроет значение из сабжекта
Startwith используй и точно не обгонит. Я не помню порядок мержа
источник

l

lenar in StartAndroid Ru RxJava
Mikhail Ershov
Допустим есть Subject

var items = BehaviorSubject.create<AsyncPack<ItemsResponse>>()

как сделать эмит дефолтного значения, если этот subject пустой, в него не передавали значений.
При этом желательно, чтобы последующие подписки на этот subject не видели дефолтное значение
последний пункт невозможен. все подписчики равны. все что можно отыграть - подписаться позже и получить только те события, которые возникли после подписки. а нормальный вариант решения - делать новый стрим из текущего - для первого исходный, для остальных скипая элемент. либо наоборот: для остальных исходный, а для первого с startWith
источник

l

lenar in StartAndroid Ru RxJava
но раз такой вопрос, то видимо неизвестно кто первый)
источник

ME

Mikhail Ershov in StartAndroid Ru RxJava
someone_guy
Startwith используй и точно не обгонит. Я не помню порядок мержа
архитектура цепочки такая, что желательно бросить только одно значение.
источник
2020 October 16

J

J.S in StartAndroid Ru RxJava
Всем привет 👋 есть какие нибудь идеей как реализовать такое:

Есть лист чекбексов : 10
При чек надо отправлять в сервер запросы

Мое решение:
. subscribe (Schedulers.newThread())
. observeOn(AndroidSchedulers.mainThread())
.onNext(lambda)
.onError(errorMesaage)
.await()

Проблема: каждый раз запускает новый поток , если быстро чекать то потоки то ли не успевают создаваться либо ещё чего-то


Подскажите пожалуйста или дайте совет как это нормально реализовать?
источник

V

Vlad in StartAndroid Ru RxJava
Мне кажется это уже проблема в архитектуре интерфейса
источник

V

Vlad in StartAndroid Ru RxJava
Зачем при каждом чеке что-то отправлять ?
источник

V

Vlad in StartAndroid Ru RxJava
Что за кейсы такие ?)
источник

J

J.S in StartAndroid Ru RxJava
Vlad
Что за кейсы такие ?)
Аналог лайка , сервер же предоставляет данные картинки что она лайкнута или нет
источник
2020 October 17

С

Сергей in StartAndroid Ru RxJava
Нормальная ли практика юзать Single.just для превращения синхронных функций в реактивные?
источник

НМ

Никита Масев... in StartAndroid Ru RxJava
Сергей
Нормальная ли практика юзать Single.just для превращения синхронных функций в реактивные?
Ну да, почему бы и нет
источник
2020 October 19

СК

Сергей Коротчик... in StartAndroid Ru RxJava
Всем привет, только начинаю изучать RxJava. Такая ситуация, загружаю список продуктов с сервера. Отдельные поля этих продуктов сохраняются в разные таблицы Room, которые возвращают Completable. Есть ли возможность перенести запуск методов сохранения из Observable.subscribe в какой нибудь из операторов Observable типа andThen только что бы был доступ к элементу из Observable? Или вообще как лучше всего это реализовать?
источник