Юрий
попробуй сделать с этого одновременно запрос в апи и бд,два запроса в разных потоках, после двух ответов проверить бд актуальная или нет, и если нет то перезаписать бд)
Кирилл
Nikita
кек, это делается двумя асинками
Юрий
и куча кода
Кирилл
(4 строчки)
Юрий
я это сделаю с 3 строк кода на рх
Nikita
Юрий
да ибо внутри карутин идет процедурное выполнение
Юрий
циклы там херачите итд)
Юрий
ок сделайте запуск диалога через карутины и возврат результата в субскрайб там где была подписка)
Кирилл
Юрий
или сделайте подписку в разных местах на считываение датчиков, и потом в одном месте отработку
Кирилл
Юрий
к примеру в одном месте подписка, в 4 разных местах наблюдатели) результат должен быть только у подписчика)
Юрий
чего угодно)
Кирилл
Юрий
ну нету в карутинах такого сильного инструмента как подписчики и наблюдатели, это очень мочный паттерн
Юрий
Юрий
плюс в рх херова куча операторов которые облегчают жизнь, плюс можно самому делать операторы
Z
Привет.
1)можно ли верстать без xml?
2)задавать динамические константы(которые изменяются в зависимости от размеров девайса)?
Юрий
у меня 80 % проекта в реактивном стиле проект летает как пуля при том что он толстый клиент
Юрий
Alexander
Кирилл
Nikita
Roman
Z
Юрий
route.dialogUpdateApk(gson.toJson(new PairObject<>(0, context.getResources().getString(R.string.install_update_apk)
)))
.subscribe(new DisposableSingleObserver<Integer>() {
@Override
public void onSuccess(Integer integer) {
dispose();
}
@Override
public void onError(Throwable e) {
Timber.e("operation update %s", e.getMessage());
}
});
вот пример запуска диалога с возвратом выбора пользователя)
Юрий
это запуск диалог фрагмента
Кирилл
Pavel
Юрий
Pavel
Юрий
Кирилл
Юрий
везде будешь делать обвертки?
Юрий
он асинхронный
Pavel
а флоу видимо нет ...
Pavel
Nikita
Pavel
Юрий
короче херли я вас тут убеждаю) думаете рх не нужен, думайте так дальше, пока потоки тупо меняете на тонких клиентах типа показать отправить, да возможно обойтись без него, но как только выстрелит толстый клиент охренеете со своими карутинами без рх)
Izya
Короче надо рассматривать конкретный кейс того, что есть в диалоге и нужна ли там обработка ошибки, потому что есть шанс, что там логика уровня
return 2+3;
Pavel
короче херли я вас тут убеждаю) думаете рх не нужен, думайте так дальше, пока потоки тупо меняете на тонких клиентах типа показать отправить, да возможно обойтись без него, но как только выстрелит толстый клиент охренеете со своими карутинами без рх)
Ну хз, я не заметил железных фактов с твоей стороны, все что ты назвал выше в том случае прекрасно с флоу можно обойтись, всякие твои ретраи, катчи, те же операторы, просто подругому называются
Юрий
я бы к примеру без рх не обошелся бы на терминале ловить евенты от кардридеров, магнитка,чип,бесконтакт)
Юрий
и должен отработать только один
Nikita
Да господи, кто говорит что рх не нужен…
Это корутины и рх это разные вещи и сравнивать их то же самое, что сравнивать ложку и молоток. Просто имхо рх это довольно мощный инструмент и не надо его использовать для просто асинхронщины
Юрий
кто первый отработает тот идет, при этом другие ридеры отключаются, остается только тот который словил эвент, и потом пошли обрработки байт масивов итд
Pavel
Юрий
Александр
Почему бы и не использовать Rx "просто для асинхронщины", heh.
Pavel
да как раз рх попроще, корутины юзают те, кто понимает, что можно обойтись и ими
Кирилл
Юрий
Александр
Rx уже стандарт, кто ж его не знает.
Pavel
Pavel
Юрий
Rx уже стандарт, кто ж его не знает.
через рх в основном все только потоки используют, но не используют его полный функционал так как не знают, а когда не знают там ногу можно в элементе отстрелить
Pavel
Юрий
Юрий
так что не надо про все знают)
Pavel
Юрий
для чего используют оператор defer?
Юрий
оператор just запускается в потоке планировчика, или в потоке вызова?
Юрий
я больше чем уверен тут процентов 80 не ответят на вопросы по рх
Александр
Дмитрий
Всем привет, ребят) Можете, пожалуйста, подсказать, правильно ли я написал запрос?
@Query("select * from message_table where (userId = :id or viaId = :id) and createdAt = (SELECT MAX(createdAt) FROM message_table where userId = :id or viaId = :id)")
Сомневаюсь по поводу части с where.
Юрий