Описание тега kotlinx.coroutines

Библиотека поддержки сопрограмм Kotlin в Kotlin/JVM и Kotlin/JS
0 ответов

Функция, возвращающая Отложено с именем, которое не заканчивается асинхронным

Я пытаюсь изучить сопрограммы Kotlin недавно, я заметил, что в случае карты, которая возвращает кучу async IDE отображает сообщение о том, что Function returning Deferred with a name that does not end with async, Это код у меня runBlocking { try { v…
30 янв '19 в 16:26
3 ответа

Kotlin Coroutines: ожидание завершения нескольких потоков

Итак, глядя на Coroutines в первый раз, я хочу параллельно обрабатывать загрузку данных и ждать ее завершения. Я смотрел вокруг и видел RunBlocking и Await и т. Д., Но не знал, как его использовать. У меня пока есть val jobs = mutableListOf<Job&g…
24 фев '19 в 16:48
0 ответов

Модульное тестирование при использовании функции расширения kotlin с приемником

Можно ли передать конкретное значение в функцию расширения с помощью приемника в модульном тесте? Я пытаюсь проверить следующий метод подписки: ... private lateinit var subscription: SubscriptionReceiveChannel<UiStateModel> suspend fun subscri…
14 фев '18 в 13:52
1 ответ

kotlin GlobalScope, блокировка запуска недоступна в kotlin.coroutines.*

У меня есть мультимодульный проект kotlin gradle в github здесь. Один из моих подпроектов introducing-coroutines с файлом сборки build.gradle.kts файл здесь Содержание build.gradle.kts является - import org.jetbrains.kotlin.gradle.dsl.Coroutines imp…
1 ответ

Юнит-тестирование сопрограмм Kotlin с runBlocking не ждет выполнения

Есть ли какой-нибудь способ дождаться приостановки функции, которая выполняется в области, например, что делает runBlocking для запуска функций приостановки? Например, class CoroutineTestCase : CoroutineScope { val job = Job() var value = 1 override…
06 янв '19 в 12:34
2 ответа

Как отправить сопрограммы непосредственно в главный поток на JVM?

Я устанавливаю основанную на kotlin сопрограмму сетевую среду для jvm. Классы Client и Server реализуют CoroutineScope, а переопределение для coroutinecontext - это Dispatchers.IO, так как я уверен, что это правильный Dispatcher для использования в …
15 янв '19 в 01:28
1 ответ

Правильный способ установки объема котлин сопрограммы для внутреннего приложения

Как правильно установить область сопрограммы - 1. реализация объема @Service class MyServiceImpl : MyService, CoroutineScope { private val job: Job = Job() override val coroutineContext: CoroutineContext get() = job + Executors.newFixedThreadPool(10…
08 ноя '18 в 19:57
2 ответа

Каков рекомендуемый способ отложить buildSequence Kotlin?

Я пытаюсь опросить API-интерфейс с нумерацией страниц и предоставлять пользователю новые элементы по мере их появления. fun connect(): Sequence<T> = buildSequence { while (true) { // result is a List<T> val result = dataSource.getFirstPa…
13 мар '18 в 17:44
1 ответ

Как разрешить withTimeoutOrNull возвращать ноль, но завершать код в блоке

Мне нужен мой код для запуска блока и возврата значения через 1 секунду в случае тайм-аута, но пусть он завершит работу. Мне удалось реализовать что-то, что работает, но IDE предлагает заменить async с withContext(DefaultDispatcher) но это не работа…
17 июл '18 в 12:25
1 ответ

Как реализовать ограниченный вызов с помощью модификации клиента и сопрограмм

У меня есть следующий код: val context = newFixedThreadPoolContext(nThreads = 10, name="myThreadPool") val total = 1_000_000 //can be other number as well val maxLimit = 1_000 return runBlocking { (0..total step maxLimit).map { async(context) { val …
24 сен '17 в 18:02
2 ответа

Котлин параллельные сопрограммы

Допустимо ли сохранять несколько экземпляров заданий из отдельных сопрограмм. Допустим, я хочу запустить пару сопрограмм одновременно, в которых они не связаны и не могут происходить в одной сопрограмме, но я хочу, чтобы они работали параллельно. В …
10 ноя '17 в 20:05
1 ответ

Kotlin: вернуть карту асинхронности (start = CoroutineStart.LAZY)

Я хотел бы вернуть карту лениво запущенных сопрограмм и использовать их (запуск / отмена) в другой функции. Проблема в том, что функция getMap() в следующих зависаниях. Почему это так и можно ли вернуть такую ​​карту из функции? import kotlinx.corou…
28 ноя '18 в 14:03
2 ответа

Как проверить сопрограммы Kotlin внутри функции?

Я создаю библиотеку и использую Retrofit с адаптером вызова, который дает мне значение Deferred<>. В функции в моем коде я вызываю launch {}и внутри этого я try-catch значения и возможные исключения - вызов различных обратных вызовов для разных резу…
1 ответ

Разница между контекстом Vertx и контекстом Kotlin Couroutine

Может кто-нибудь объяснить, пожалуйста, различия и сходства между контекстом Vertx и контекстом Kotlin Couroutine?
19 окт '18 в 22:56
3 ответа

Котлин 1.3: как выполнить блок в отдельном потоке?

Я читал о параллельности в Kotlin и думал, что начал понимать это... Тогда я обнаружил, что async() устарел в 1.3, и я вернулся к началу. Вот что я хотел бы сделать: создать поток (и, к сожалению, это должен быть поток, а не управляемый пул), а зате…
26 окт '18 в 14:34
1 ответ

Использование runBlocking в Kotlin Coroutines при ориентации на JavaScript?

Есть ли способ написать код Kotlin ниже, чтобы он компилировался и работал одинаково на JVM и в JavaScript? fun &lt;A: Any&gt; request(request: Any): A = runBlocking { suspendCoroutine&lt;A&gt; { cont -&gt; val subscriber = { response: A -&gt; cont.…
18 сен '18 в 19:16
1 ответ

Котлин сопрограмм ждать, пока не закончится блок инициализации

В настоящее время я изучаю сопрограммы и нуждаюсь в вашей помощи:) Как я могу заставить ждать, пока модернизация инициализируется? private lateinit var retrofit: Retrofit init { val time = measureTimeMillis { launch { val httpClient = createOkHttpCl…
22 окт '18 в 11:55
9 ответов

MutableLiveData: невозможно вызвать setValue в фоновом потоке из Coroutine

Я пытаюсь вызвать обновление LiveData из сопрограммы: object AddressList: MutableLiveData&lt;List&lt;Address&gt;&gt;() fun getAddressesLiveData(): LiveData&lt;List&lt;Address&gt;&gt; { AddressList.value = listOf() GlobalScope.launch { AddressList.va…
3 ответа

Koltin Vertx с блоками Coroutines при попытке вызвать блокировку запуска

Я использую стороннюю библиотеку, которая выставила функцию обратного вызова. Функция обратного вызова будет вызвана в случае успеха. Функция обратного вызова не является функцией приостановки, но когда я пытаюсь сделать вызов внутри функции без при…
1 ответ

Избегайте отмены родительской работы в случае исключения из-за детской сопрограммы

Я экспериментирую с обработкой исключений в сопрограммах Kotlin на Android. Мой вариант использования - я хочу выполнить кучу задач в фоновом режиме (асинхронно) и обновить несколько компонентов пользовательского интерфейса в одном действии. Я разра…
03 ноя '18 в 15:56