@kotlin_lang

Страница 448 из 982
Roman
07.12.2017
10:19:18
вторая часть (про отмену задачи предыдущей) вообще к debounce отношения не имеет
В rxJava если debounce отменяется, то запрос тоже отменится (вроде бы).

Руслан
07.12.2017
10:22:34
и отменять старый запрос при поступлении следующего все равно надо делать что-то типо drop

Roman
07.12.2017
10:24:40
сенкс, нет никакого ретрофита. Есть java.net.socket SocketClient и SocketServer
Еще поправочка: код чуток не идеологически правильный. По идее если запрос возвращает Future-подобный объект у него должен быть суффикс Async, например requestAsync.

Google
Roman
07.12.2017
10:25:24
А вот если это suspend fun request1(), то надо обернуть вызов в run {}

Примерно так: run(coroutineContext) { try { api.request1() } catch (e: Exception) { null } }

Roman
07.12.2017
10:30:21
Это было на kotlinconf

Упс, по ходу не run надо, а async.

Sergey8827
07.12.2017
10:32:33
Примерно так: run(coroutineContext) { try { api.request1() } catch (e: Exception) { null } }
а чем плохо заюзать rx многопоточность вместо корутин?

Artem
07.12.2017
10:32:38
Это было на kotlinconf
Запись есть?

Roman
07.12.2017
10:33:04
Кстати очень не удачное название run. Очень часто конфликтует с kotlin.run.

Roman
07.12.2017
10:34:11
Запись есть?
https://youtu.be/_hfBv0a09Jc

Artem
07.12.2017
10:36:42
Благодарю

Roman
07.12.2017
10:41:33
а чем плохо заюзать rx многопоточность вместо корутин?
Вопрос ведь не про многопоточность, а про то, как объединить результаты двух асинхронных вызовов.

Sasha
07.12.2017
10:41:42
А где ты это такое прочитал?
На примеры можно в бэкенде kotlinkonf глянуть, там где в базу пишет.

Google
Igor
07.12.2017
10:42:54
Да мне нужны не примеры, а где написано “что это обязательно”

Sasha
07.12.2017
10:45:03
Хз, я вообще по этому поводу ничего не видел.

Sergey8827
07.12.2017
11:04:00
Вопрос ведь не про многопоточность, а про то, как объединить результаты двух асинхронных вызовов.
Ок по ответу все понятно, спс. Возможно сделаю на корутинах Но вопрос, а Rx это сам не может без корутин

Roman
07.12.2017
11:04:53
По rx я не спец, но zip кажется делает именно то, что нужно.

Roman
07.12.2017
11:05:18
Но надо защиту поставить от ошибок. Например обернув в Optional

Вообще zip по идее - это merge с предопредеенной функцией слияния.

Sergey8827
07.12.2017
11:14:22
https://stackoverflow.com/questions/38576106/rxjava-zip-with-priorities

Руслан
07.12.2017
12:21:07
https://habrahabr.ru/company/avito/blog/344146/

Глеб
07.12.2017
12:47:32


Sergey8827
07.12.2017
12:49:22
может при помощи Anko doAsync { var result = runLongTask() uiThread { toast(result) } }

Глеб
07.12.2017
12:49:59
Не, я же хочу корутины использовать

Избавиться от всех каллбеков и подобных конструкций

? animufag ?
07.12.2017
12:51:05
тут разве не залочится ui тред?

Глеб
07.12.2017
12:52:27
А, вот оно как. А разве залочится? Вроде бы не должен, хотя.. Сейчас проверю

? animufag ?
07.12.2017
12:53:04
не, я сам не шарю. просто так кажется

ну тип await в blocking контексте – как ещё можно корутинами залочить тред

Google
Глеб
07.12.2017
12:54:36
А в каком контексте нужно вызывать тогда?

Хм, и правда лочится

? animufag ?
07.12.2017
12:56:25
ну, commonpool. но мне всегда ребята говорят, что я не прав и так все ядра можно забить, а нужно чтобы был специальный io контекст, но никто не предлагает готовых решений

так что commonpool и потом в ui результат использовать

Igor
07.12.2017
13:00:38
R.id.menuCopyHosts -> launch(UI) { val file = File("/etc/hosts") val stirngFromFile = run(CommonPool) { PrivacyPolictyAttribute.getStringFromFile(file) } Utils.copyToClipboard(stirngFromFile, "...") }

Глеб
07.12.2017
13:01:52
@angmarr спасибо!

Strashko
07.12.2017
13:22:37
Всем привет, подскажите пожалуйста, eсли я пишу на Kotlin Script, будет ли при запуске создаваться JVM? И какие я могу использовать библиотеки с данным языком, например библиотека loadsh для JavaScript?

Strashko
07.12.2017
13:49:11
Kotlin Script это не тоже самое что Kotlin JS если че
Это я понимаю, просто возникли глупые вопросы)

Dzmitry
07.12.2017
14:38:50
лол, подскажите какой приправой посыпать проект - gradle 3.0.1 котлин и dagger2. одна активность, один компонент, один модуль, не заводится.

Kirill
07.12.2017
14:40:34
Обидно.

Admin
ERROR: S client not available

Dzmitry
07.12.2017
14:41:19
Обидно. Ошбка Error:Execution failed for task ':app:kaptDebugKotlin'. > Internal compiler error. See log for more details

больше ничего. думаю что kapt не заводится. у меня kapt 'com.google.dagger:dagger-compiler:2.5'

в проеуте подсмотрел каком-то

Google
Руслан
07.12.2017
14:42:19
1. Чат по Kotlin-Android: https://t.me/kotlin_mobile 2. Как задавать вопросы: https://kotlinby.github.io/kotlin-telegram/#как-задавать-вопросы

Strashko
07.12.2017
14:42:42
Что пишет хоть?
Да думал написать бота для постановки задач из чата....но чет не нравится идея JVM и то как его запускать

Sergey
07.12.2017
15:22:59
уже какой релиз подряд идеи с плагином котлина был, а до сих пор повторяется бага с тестами когда в дата классе добавляешь новое поле, то junit runner в идее не видит его и крашется

Quantum Harmonizer
07.12.2017
16:40:21
Скоро начинается https://info.jetbrains.com/Kotlin-Webinar-December2017.html

Roman
07.12.2017
16:44:25
Обидно. Ошбка Error:Execution failed for task ':app:kaptDebugKotlin'. > Internal compiler error. See log for more details
Это annotation-processor dagger-а ругается, но ругается он в консоль градла, там смотри свою ошибку.

Igor
07.12.2017
16:47:38
Vitalii
07.12.2017
16:47:49
А где трансляция будет?
Надо зарегистрироваться, ссылку даст на gotowebinar. Заранее только надо google chrome взять.

Igor
07.12.2017
16:48:14
И куда она ведет? Может кто расшарить или они уникальные? Ставить ради этого хром - я конечно не буду ?

Roman
07.12.2017
16:49:05
Пишет, что ссылку пришлет на емайл.

Vitalii
07.12.2017
16:55:03
И в FF работает.
Ты в этом уверен? Мне сказал что-то типа, что your browser is not supported, please, use Google Chrome.

Quantum Harmonizer
07.12.2017
16:56:01
Ты в этом уверен? Мне сказал что-то типа, что your browser is not supported, please, use Google Chrome.
«Unfortunately, computer audio isn't supported in this browser yet.» Тупо закрыл эту плашку.

Руслан
07.12.2017
16:59:12
Хади вещает

Vitalii
07.12.2017
17:00:02
Запись будет через несколько дней — неделю.

Vadim
07.12.2017
17:00:21
Возникла беда беда есть некая реализация со встроенными функциями fun main() { processStickyEvents<PeriodChangeEvent> { onPeriodChangeEvent(it) } processStickyEvents<AccountsSelectEvent> { onAccountsSelectEvent(it) } processStickyEvents<CategoriesSelectEvent> { onCategoriesSelectEvent(it) } } private inline fun <reified T : Any> processStickyEvents(lambda: (T) -> Unit) { EventBus.getDefault().getStickyEvent(T::class.java)?.let { lambda(it) } EventBus.getDefault().removeStickyEvent(T::class.java) } закинул log после private inline, всё сработало, но почему то сами методы такие как например в main - onPeriodChangeEvent тупо не вызывается.

Quantum Harmonizer
07.12.2017
17:00:41
реально, в FF звука нет

Ilias
07.12.2017
17:21:39
А трансляция вообще проходит?

The webinar is about to start

Quantum Harmonizer
07.12.2017
17:22:31
Google
Sergey8827
07.12.2017
19:48:56
в проеуте подсмотрел каком-то
Погугли на хабре вышла статья миграция на 3 плагин

Страница 448 из 982