Юрий
попробуй сделать с этого одновременно запрос в апи и бд,два запроса в разных потоках, после двух ответов проверить бд актуальная или нет, и если нет то перезаписать бд)
Nikita
кек, это делается двумя асинками
Юрий
и куча кода
Кирилл
(4 строчки)
Юрий
я это сделаю с 3 строк кода на рх
Pavel
и куча кода
Корутинами? ты серьезно?
Nikita
и куча кода
эээ нет?
Юрий
да ибо внутри карутин идет процедурное выполнение
Pavel
я это сделаю с 3 строк кода на рх
ого! 3 строки против 4! рх уделал корутины, шок
Юрий
циклы там херачите итд)
Кирилл
циклы там херачите итд)
Корутины под капотом это callback
Юрий
ок сделайте запуск диалога через карутины и возврат результата в субскрайб там где была подписка)
Юрий
или сделайте подписку в разных местах на считываение датчиков, и потом в одном месте отработку
Юрий
к примеру в одном месте подписка, в 4 разных местах наблюдатели) результат должен быть только у подписчика)
Юрий
чего угодно)
Юрий
ну нету в карутинах такого сильного инструмента как подписчики и наблюдатели, это очень мочный паттерн
Юрий
плюс в рх херова куча операторов которые облегчают жизнь, плюс можно самому делать операторы
Z
Привет. 1)можно ли верстать без xml? 2)задавать динамические константы(которые изменяются в зависимости от размеров девайса)?
Юрий
у меня 80 % проекта в реактивном стиле проект летает как пуля при том что он толстый клиент
Izya
ок сделайте запуск диалога через карутины и возврат результата в субскрайб там где была подписка)
Выглядит как дичайший оверхед и попытка кушать суп, окуная туда носок и вымачивая его себе в рот)
Nikita
1.нет 2. зависит от вашей реализации
в чем проблема верстки без xml?
Pavel
Выглядит как дичайший оверхед и попытка кушать суп, окуная туда носок и вымачивая его себе в рот)
Так он специально придумал такую задачу, по сути не понятную кто будет реализовывать, чтобы якобы показать свою правоту в этом)
Z
1.нет 2. зависит от вашей реализации
2. Можно пример как это сделать
Юрий
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()); } }); вот пример запуска диалога с возвратом выбора пользователя)
Юрий
это запуск диалог фрагмента
Юрий
catch
мдя) 21 век)
Pavel
мдя) 21 век)
что? а в рх onError видимо моднее?
Юрий
везде будешь делать обвертки?
Юрий
он асинхронный
Pavel
а флоу видимо нет ...
Pavel
Юрий
что? а в рх onError видимо моднее?
он асинхронный, плюс я могу указать оператор повтора при ошибки с изменением логики
Nikita
Юрий
короче херли я вас тут убеждаю) думаете рх не нужен, думайте так дальше, пока потоки тупо меняете на тонких клиентах типа показать отправить, да возможно обойтись без него, но как только выстрелит толстый клиент охренеете со своими карутинами без рх)
Izya
Короче надо рассматривать конкретный кейс того, что есть в диалоге и нужна ли там обработка ошибки, потому что есть шанс, что там логика уровня return 2+3;
Pavel
короче херли я вас тут убеждаю) думаете рх не нужен, думайте так дальше, пока потоки тупо меняете на тонких клиентах типа показать отправить, да возможно обойтись без него, но как только выстрелит толстый клиент охренеете со своими карутинами без рх)
Ну хз, я не заметил железных фактов с твоей стороны, все что ты назвал выше в том случае прекрасно с флоу можно обойтись, всякие твои ретраи, катчи, те же операторы, просто подругому называются
Юрий
я бы к примеру без рх не обошелся бы на терминале ловить евенты от кардридеров, магнитка,чип,бесконтакт)
Юрий
и должен отработать только один
Nikita
Да господи, кто говорит что рх не нужен… Это корутины и рх это разные вещи и сравнивать их то же самое, что сравнивать ложку и молоток. Просто имхо рх это довольно мощный инструмент и не надо его использовать для просто асинхронщины
Юрий
кто первый отработает тот идет, при этом другие ридеры отключаются, остается только тот который словил эвент, и потом пошли обрработки байт масивов итд
Александр
Почему бы и не использовать Rx "просто для асинхронщины", heh.
Pavel
да как раз рх попроще, корутины юзают те, кто понимает, что можно обойтись и ими
Nikita
просто рх мало кто знает, и используют карутины, тыы не правильно выразился)
Да чет хзхз, куда не плюнь сейчас все исопльзуют рх, а проектов с корутинами сильно меньше
Александр
Rx уже стандарт, кто ж его не знает.
Pavel
ты гонишь?))))
Нет конечно
Юрий
Rx уже стандарт, кто ж его не знает.
через рх в основном все только потоки используют, но не используют его полный функционал так как не знают, а когда не знают там ногу можно в элементе отстрелить
Nikita
Почему бы и не использовать Rx "просто для асинхронщины", heh.
Ну чет оферхед получается тогда. Не, можно и бульдозером плитку дома укладывать, но зочем🤔
Юрий
так что не надо про все знают)
Pavel
Александр
Ну чет оферхед получается тогда. Не, можно и бульдозером плитку дома укладывать, но зочем🤔
Затем, что конкретно тебе так удобнее. Берёшь то что умеешь юзать и то что нравится, не загоняясь мыслями "ооо оверхед на 5 - 10 строк хммм"
Юрий
для чего используют оператор defer?
Pavel
так что не надо про все знают)
Ну это утрировано конечно "про все"))), но большинство сообщества
Юрий
оператор 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.
Александр
я больше чем уверен тут процентов 80 не ответят на вопросы по рх
Не ответят, да и толерантно вообще. Кому это нужно, досканально Rx учить? Понадобится потребность, копнём глубже.