Size: a a a

2021 June 26

AM

Andrew Mikhaylov in Kotlin Start
А если подключить kotlinx-coroutines-core-jvm?
источник

AM

Andrew Mikhaylov in Kotlin Start
Или как там её
источник

AM

Andrew Mikhaylov in Kotlin Start
Тот артефакт, что указан у вас, цепляет платформенные с помощью Gradle Metadata. В свете того, что вы пользуетесь не гредлом, возможно, это автоматическое цепляние не работает, и надо подтянуть координаты платформенного артефакта руками.
источник

L

Lessej in Kotlin Start
спасибо всем за подсказки, пока что не смог решить все красиво, в итоге просто пересоздал проект на gradle и все скопировал и получилось.
источник

AM

Andrew Mikhaylov in Kotlin Start
Это наиболее простое и удобное решение в данном случае, да.
источник

AM

Andrew Mikhaylov in Kotlin Start
В теории можно, конечно, попробовать разобраться и потенциально завести фич-реквест на идеевскую систему сборки, чтобы она .module читала, если ещё не, но, видимо, достаточно небольшому количеству людей это проблемы создают -- в основном все на гредле сидят.
источник
2021 June 27

X

Xxx in Kotlin Start
Всем привет, а по котлину есть книга по типу полного руководства по Java Шилдта?
источник

а

андрей in Kotlin Start
Официальная дока, ну и "котлин в действие" не плохая книга
источник

X

Xxx in Kotlin Start
Спасибо
источник
2021 June 28

FG

Fuad Garayev in Kotlin Start
Добрый день, не давно начал изучать Flow, и я так понял преимущество в том что можно юзать разные саспенд функции в флоу функции которая не является саспенд.но какой смысл если сама флоу функция работает только в курутин боди?
источник

AN

Alexander Nozik in Kotlin Start
Преимущество по сравнению с чем?
источник

FG

Fuad Garayev in Kotlin Start
сорри,я не совсем понял смысл флоу,думал это аналог для саспенд функций. ща буду читать доку
источник

AN

Alexander Nozik in Kotlin Start
Flow реализует концепцию Reactive streams с некоторыми бонусами. Можете почитать про них. И плюс как раз в том, что это те же корутины.
источник

FG

Fuad Garayev in Kotlin Start
я просто надеелся что функции которые возвращают флоу можно юзать вне курутин контекста. но видимо я ошибался)
источник

AN

Alexander Nozik in Kotlin Start
Создание самого Flow возможно без скоупа, но его использование (а точнее использование терминальных операций) разумеется должно быть в скоупе.
источник

AM

Andrew Mikhaylov in Kotlin Start
В процессе работы с реактивным стримом обычно у источника (апстрима) и потребителя (даунстрима) событий скорость работы разная. В любой момент может появиться т.н. backpressure -- ситуация, когда даунстрим не в состоянии обработать входящие события достаточно быстро. Единственный и родной для корутин механизм backpressure в kotlinx.coroutines -- suspension.

Кроме того, вся обработка ошибок, всё переключения между диспетчерами, вся structured concurrency жёстко связана с саспендами.
источник

FG

Fuad Garayev in Kotlin Start
могу я задать теоретический вопрос? у меня имеется каллбэк(listener) который не является саспенд. Мне нужно каким то образом задествовать в этом каллбэкэ свои саспенд функции. Возможно ли это вообще сделать? мне сказали что в этом мне поможет StateFlow. я пока не дошел до них но хотелось бы уточнить вообще воозможность решение этой задачи
источник

BP

Bogdan Panchenko in Kotlin Start
Возможно но обычно выглядит криво, стыков лучше делать поменьше.

StateFlow хранит состояние, и ему не нужна саспенд функция для установки значения
источник

FG

Fuad Garayev in Kotlin Start
вы можете посоветовать что то более подходящее для решения такой задачи?менее кривое?
источник

AM

Andrew Mikhaylov in Kotlin Start
Прямым способом -- нет. Вы можете запустить задачу из коллбека, при этом завершиться она может после того, как произведён возврат из коллбека. Сделать это можно хоть с помощью myScope.launch { async code }, либо упомянутый вами flow.tryEmit(command), а уже в другом месте в саспенд контексте эти команды вычитываются и обрабатываются.
источник