Size: a a a

ReactiveX - русскоговорящее сообщество

2020 September 16

АК

Артем Кулик... in ReactiveX - русскоговорящее сообщество
Вы на берегу договариваетесь, что например лента новостей иммутабельна
источник

АК

Артем Кулик... in ReactiveX - русскоговорящее сообщество
И еееесли что то поменяется то тебе пришлется нотификейшн
источник

AP

Alex Petrov in ReactiveX - русскоговорящее сообщество
Так вот, об этом я и говорю. А если нашли в БД? Но инфа то уже не актуальная как бы, условно лента новостей какая нибудь. Посмотрели в БД, есть данные, ну ок, отобразили. И у нас получается всегда будут одни и те же новости в ленте?)
источник

AA

Andrey Akimov in ReactiveX - русскоговорящее сообщество
Alex Petrov
Возможно у меня тупой вопрос будет, но все-таки рискну его задать) А почему так всегда, что читаем из БД, если там пусто то загружаем с апи и сохраняем в БД? А если там не пусто? То отображаем на экране данные из БД? Но ведь в БД может быть уже неактуальная инфа. Не логичнее ли сначала обращаться к серверу? Сам пытаюсь разобраться как правильно кэшировать данные просто, поэтому вопрос заинтересовал)
также обращение к серверу может занять определённое время и чтобы в это время не показывать пользователю пустой экран - показывается кеш, а потом уже и актуальные данные. Плюс сверху украшают какими-нибудь анимациями, чтобы пользователю было понятно, что данные обновились
источник

АК

Артем Кулик... in ReactiveX - русскоговорящее сообщество
Alex Petrov
Так вот, об этом я и говорю. А если нашли в БД? Но инфа то уже не актуальная как бы, условно лента новостей какая нибудь. Посмотрели в БД, есть данные, ну ок, отобразили. И у нас получается всегда будут одни и те же новости в ленте?)
Ну такие записи имеют ttl, очистка кэша может быть какая угодно. Инвалидацию кэша может тебе прислать сервер если что-то в твоей ленте было изменено с того момента как ты это запросил.
источник

АМ

Андрей Москаленко... in ReactiveX - русскоговорящее сообщество
Простите за оффтоп, этот чат по реактивному программированию в Java или вообще по реактивному программированию ? Я спрашиваю, потому что у меня каталог чатов по категориям(если админы захотят кину ссылку), вот думаю куда этот чат кинуть.
источник

AP

Alex Petrov in ReactiveX - русскоговорящее сообщество
Артем Кулик
Ну такие записи имеют ttl, очистка кэша может быть какая угодно. Инвалидацию кэша может тебе прислать сервер если что-то в твоей ленте было изменено с того момента как ты это запросил.
Ну чтобы сервер что-то прислал ведь мы должны как раз запрос на сервер отправить, об этом я и говорю. Просто по тому алгоритму что описан получается что мы один раз только как будто с сервера загружаем инфу и все и потом всегда отображаем её и только её. Я про "посмотрели в БД — если нет загрузили с сервера — сохранили в БД"... Не найду нигде нормальных примеров с кэширование данных почему-то. Может есть какие-то ссылки? Чтобы с Rx.
источник

АК

Артем Кулик... in ReactiveX - русскоговорящее сообщество
Alex Petrov
Ну чтобы сервер что-то прислал ведь мы должны как раз запрос на сервер отправить, об этом я и говорю. Просто по тому алгоритму что описан получается что мы один раз только как будто с сервера загружаем инфу и все и потом всегда отображаем её и только её. Я про "посмотрели в БД — если нет загрузили с сервера — сохранили в БД"... Не найду нигде нормальных примеров с кэширование данных почему-то. Может есть какие-то ссылки? Чтобы с Rx.
Это общий алгоритм. Как БМВ. Навешивай логику. Базовый алгоритм таков
источник

AP

Alex Petrov in ReactiveX - русскоговорящее сообщество
Артем Кулик
Это общий алгоритм. Как БМВ. Навешивай логику. Базовый алгоритм таков
Ладно, буду дальше ресерчить, спасибо)
источник
2020 September 17

RA

Rost Artemov in ReactiveX - русскоговорящее сообщество
всем привет) подскажите пожалуйста оператор для того, чтобы вызвать функции между другими операторами? Например:

interactor.fetchDetails(data)
            .map(::mapData)
            .//Тут оператор чтобы вызвать некоторые функции, которые возвращают Unit
            .map(::mapData1)
           .observeOn(mainThread())
           .subscribe(::handleData)
           .addDisposable()
источник

АК

Артем Кулик... in ReactiveX - русскоговорящее сообщество
doOnNext
источник

RA

Rost Artemov in ReactiveX - русскоговорящее сообщество
аа, точно) спасибо большое)
источник

S

Singular in ReactiveX - русскоговорящее сообщество
Completable.timer(1500, TimeUnit.MILLISECONDS).subscribe { startStreaming() }
The result of subscribe is not used

Что он хочет? я же Completable юзаю
источник

АК

Артем Кулик... in ReactiveX - русскоговорящее сообщество
например чтобы ты положил подписку в контейнер подписок
источник
2020 September 22

EG

Evgeny GooDi in ReactiveX - русскоговорящее сообщество
чот туплю. как это на эрыкс переписать?..
источник

ЕУ

Евгений Удалов... in ReactiveX - русскоговорящее сообщество
Evgeny GooDi
чот туплю. как это на эрыкс переписать?..
а там есть что-то потоковое?
источник

EG

Evgeny GooDi in ReactiveX - русскоговорящее сообщество
Евгений Удалов
а там есть что-то потоковое?
да, accountType и isDemoUser есть результаты разных эрыксовых цепочек
источник

ЕУ

Евгений Удалов... in ReactiveX - русскоговорящее сообщество
так надо видеть эти цепочки тогда ) как вариант, записывать эти результаты в бихэвиор сабж и ими уже играться
источник

EG

Evgeny GooDi in ReactiveX - русскоговорящее сообщество
Евгений Удалов
так надо видеть эти цепочки тогда ) как вариант, записывать эти результаты в бихэвиор сабж и ими уже играться
ну как. 2 цепочки, каждая дает boolean в итоге. и надо теперь вот такой иф сделать...
источник

ЕУ

Евгений Удалов... in ReactiveX - русскоговорящее сообщество
либо объединяй эти самые цепочки, либо, как я выше написал, результат в behavioursubject и ими уже манипулируй. хотя по сути итоговые сравнения все равно останутся
источник