Size: a a a

2017 June 05

VC

Vasili Chyrvon in RxPM
или осталось как на скрине паблишРеле?
источник

N

NoName in RxPM
все три ипута Behavior могу попробовать сделать их Publish
источник

VC

Vasili Chyrvon in RxPM
Нет нет )))
источник

VC

Vasili Chyrvon in RxPM
У тя не скрине был один паблишем, поэтому и не работало без реплея
источник

N

NoName in RxPM
а вдруг взлетит и тогда я воообще ничего не пойму
источник

VC

Vasili Chyrvon in RxPM
комбайнЛатест не пускал, тк инпутСервера не было нового
источник

N

NoName in RxPM
можно на пальцах что проиходит?
источник

N

NoName in RxPM
ну так я сделал его behavior, но при этом у мня был ConnectableObservable с помощью publish()
источник

DG

Dmitriy Gorbunov in RxPM
источник

N

NoName in RxPM
прочел в моем случае, как и в Вашем точно нет Subject, и publish не используется (ConnectableObservable), тогда как получается мультиподписка?
источник

VC

Vasili Chyrvon in RxPM
Relay прочти что такое. Это тот же сабжект
источник

N

NoName in RxPM
все, допедрил, получается когда мы используем Relay (развитие Subject от Джейка Вортона) в операции combine уже используются крайние значения из BehaviorRelay, а так как он Subject то на эти объекты могут подписываться много suscribers (disposables в Rx 2), а также они могут использоваться в других операторах (combine, withLatest)
источник

N

NoName in RxPM
вопрос получается терминальная операция доходит до всех кто учавствует в этой цепочке ? ну то есть не только searchButtonClicks откуда цепочка как бы начинается, но и влияет на цепочку, которая внутри withLatestFrom(), а именно combine из RxPM примера.
источник

VC

Vasili Chyrvon in RxPM
Это все зависит от реализации отдельных операторов языка. Но в общих чертах пока можешь считать так.
источник

N

NoName in RxPM
NoName
и у меня вопрос, почему когда я только подписываюсь на элементы на экране, происходит эмит, ну то есть я подписался на пустой инпут и мне сразу пустой эмит приходит, так же и с фокусом на ипуте прихоидт False при подписке и приходится skip(1) везде ставить, потому что это не пользовательское действие
а кто может ответить на этот вопрос?
источник

VC

Vasili Chyrvon in RxPM
Если приходит событие, то значит ты в BehaviorRelay что-то кидал. Вот и приходит при подписке.
источник

N

NoName in RxPM
Никто не кидает, ну точнее пользователь этого е делает, оно автоматом при подписке происходит, если это тупо обертки над листенерами, то почему это происходит, в андроиде при использовании листенеров, такого нет, только когда пользователь что-то делает. а тут при подписке кидаются дефолтные (может предустановленные значения)
источник

DG

Dmitriy Gorbunov in RxPM
NoName
и у меня вопрос, почему когда я только подписываюсь на элементы на экране, происходит эмит, ну то есть я подписался на пустой инпут и мне сразу пустой эмит приходит, так же и с фокусом на ипуте прихоидт False при подписке и приходится skip(1) везде ставить, потому что это не пользовательское действие
RxBinding observable кидает начальное значение при подписке
https://github.com/JakeWharton/RxBinding/blob/master/rxbinding/src/main/java/com/jakewharton/rxbinding2/InitialValueObservable.java
источник

N

NoName in RxPM
@dmdev  @Jeevuz Спасибо за ответы и советы. Раз уж это архитектурный подход и он предложен Вами как что-то новое и хорошее, то как эта архитектура хороша с точки зрения покрытия тестами. Если открыть  google samples там к какждому архитектурному подходу есть описания с этим аспектом. Что Вы на этот счет скажете? Было было так же здоров это видеть в тестовом примере. Ваш подход очень похож на https://github.com/artem-zinnatullin/RxUi , Атем там приводит примеры тестов, думаю что у Вас так же можно.
источник

VC

Vasili Chyrvon in RxPM
Тестируется все так же как и в MVP, MVVM... Ничего нового. 😉
источник