Вопросы с тегом «kotlin-coroutines»

118
Что означает функция приостановки в Kotlin Coroutine

Я читаю Kotlin Coroutine и знаю, что он основан на suspendфункции. Но что suspendзначит? Coroutine или функция приостанавливается? С https://kotlinlang.org/docs/reference/coroutines.html По сути, сопрограммы - это вычисления, которые можно приостановить, не блокируя поток. Я слышал, как люди часто...

29
Как сделать «неправильный вызов метода блокировки» соответствующим?

В настоящее время я пытаюсь использовать котлин сопрограммы больше. Но я сталкиваюсь с проблемой: при использовании moshi или okhttp внутри этих сопрограмм я получаю предупреждение: «неподходящий вызов метода блокировки» Каков наилучший способ исправить это? Я действительно не хочу быть неуместным...

21
Kotlin Flow против Android LiveData

У меня есть несколько вопросов о Kotlin Flow Я могу наблюдать LiveData из нескольких фрагментов. Могу ли я сделать это с Flow? Если да, то как? Мы можем иметь несколько LiveData из одной LiveData, используя map& switchMap. Есть ли способ иметь несколько потоков из одного источника потока?...

13
Функция withTimeout создает исключение IllegalStateException: отсутствует цикл обработки событий. Используйте runBlocking {…}, чтобы начать. в Kotlin Multiplatform iOS клиент

Обновление: это работает, если я сначала выполняю сопрограмму без таймаута, а затем с Тайм-аутом. Но если я сначала выполню сопрограмму с Timeout, то это выдаст мне ошибку. То же самое относится и к Async. Я создаю демонстрационное мультиплатформенное приложение kotlin, в котором я выполняю вызов...

10
Kotlin сопрограммы «случается раньше» гарантирует?

Предоставляют ли сопрограммы Kotlin какие-либо гарантии «произойдет раньше»? Например, существует ли гарантия «происходит до» между записью в mutableVarи последующим чтением (потенциально) в другом потоке в этом случае: suspend fun doSomething() { var mutableVar = 0 withContext(Dispatchers.IO) {...

10
Котлин Флоу против LiveData

В прошлых операциях ввода-вывода Google Хосе Альсеррека и Йигит Бояр сказали нам, что мы больше не должны использовать LiveData для получения данных. Теперь мы должны использовать функции приостановки для однократных выборок и использовать поток Котлина для создания потока данных. Я согласен, что...