Описание тега kotlinx.coroutines.channels
1
ответ
Производить<тип> против канала<тип> ()
Пытаться понять каналы. Я хочу направить андроид BluetoothLeScanner на канал. Почему это работает: fun startScan(filters: List<ScanFilter>, settings: ScanSettings = defaultSettings): ReceiveChannel<ScanResult?> { val channel = Channel<…
22 май '19 в 13:27
0
ответов
Как очистить отправленные значения с канала Coroutine?
Допустим, я отправил несколько значений в канал, val channel = Channel<Int>() launch { for (x in 1..5) channel.send(x * x) } Как я могу "очистить" их? Значение потреблять их, не используя их
29 апр '19 в 14:14
2
ответа
Как проверить актеров Kotlin Coroutine
Я реализовал актера, как в официальных документах kotlinx.coroutines. Теперь я должен проверить их в своих инструментальных тестах, но я всегда получаю IllegalStateException: This job has not completed yet Вот мой тестовый код: @RunWith(AndroidJUnit…
28 июн '19 в 09:30
1
ответ
Есть ли канал Kotlin Coroutines, эквивалентный onDispose RxJava?
Если я продлю Observable<> в RxJava я могу переопределить OnDispose()и выполнить очистку, например очистку вещей для сборщика мусора. OnDispose() вызывается всякий раз, когда любая подписка на это Observable<> утилизируется. Тем не менее…
16 июл '19 в 13:16
1
ответ
Как я могу отправлять предметы в Kotlin.Flow (например, предмет поведения)
Я хотел знать, как я могу отправлять / отправлять Kotlin.Flow, так что мой вариант использования: В потребительской /ViewModel/Presenter я могу подписаться с collect функция: fun observe() { coroutineScope.launch { // 1. Send event reopsitory.observ…
04 авг '19 в 12:12
4
ответа
Иногда ConflatedBroadcastChannel запускает недавнее значение без каких-либо действий
В официальной кодовой лаборатории Google, посвященной образцу расширенных сопрограмм-кодов, они использовалиConflatedBroadcastChannelчтобы наблюдать за изменением переменной / объекта. Я использовал ту же технику в одном из своих побочных проектов, …
30 апр '20 в 16:27
1
ответ
Не удается разрешить api производителя
Я изучаю сопрограммы Kotlin. Я следовал руководству, в котором этот код используется для объяснения API-интерфейса производителя-потребителя сопрограмм: import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.channels.Channel import kotlinx.…
04 сен '19 в 09:05
0
ответов
Проблемы с имитацией сопрограмм ProducerScope
У меня есть функция, которая создает channelFlow, а затем передает область в качестве аргумента другому классу. journeyRepository.canGetPagedJourneys(this) У меня проблемы с издевательством над "этим" (ProducerScope) Функция, которую мне нужно проте…
16 дек '19 в 17:41
1
ответ
Как сканировать рекурсивные структуры с помощью сопрограмм Kotlin?
Учитывая древовидную структуру и операцию для выборки дочерних узлов узла, например: typealias NodeReference = URL data class Node( val data:Data, val childrenList:List<NodeReference>) suspend fun resolve(nodeRef:NodeReference) : Node Вы знает…
04 апр '20 в 20:13
0
ответов
Как использовать каналы сопрограмм с функциями обратного вызова и приостановки
Я новичок в Coroutine Channels и работаю со сторонней библиотекой обмена сообщениями под названием Pubnub. Он в значительной степени полагается на обратные вызовы для различных операций, таких как получение сообщений, изменение пользовательских собы…
22 апр '20 в 23:30
1
ответ
onReceiveOrClosed: уже возобновлено
Возьмите следующую программу: package example import kotlinx.coroutines.InternalCoroutinesApi import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.runBlocking import kotlinx.coroutines.selects.select @InternalCoroutinesApi fun main()…
12 сен '19 в 15:30
1
ответ
Передача / передача значений потока в BroadcastChannel
Сегодня изрядно застрял в проблеме с потоками / каналами Kotlin. По сути, я хочу взять значения, испускаемые из потока, и немедленно отправить их в канал. Затем мы подписываемся на этот канал как на поток с помощью открытого метода. Пример использов…
12 май '20 в 03:40
2
ответа
Как закрыть канал после завершения всех сопрограмм производителя?
Рассмотрим следующий код: import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.* fun main() = runBlocking<Unit> { val channel = Channel<String>() launch { channel.send("A1") channel.send("A2") log("A done") } launch { cha…
29 май '20 в 00:59
0
ответов
Kotlin Coroutines - предотвращение закрытия исходящего канала при обрыве сети [Websockets]
Я использую Ktor и веб-сокеты и заметил, что исходящий канал мгновенно закрывается при разрыве соединения. Есть ли способ предотвратить это? Я подключаюсь к веб-сокету следующим образом: fun connect(listener: MyListener) = launch { try { client.wss(…
14 апр '21 в 15:01
1
ответ
Как параллельная модификация работает с сопрограммами?
Я прохожу через это coroutinesпрактическое руководство Coroutines-Channels. Итак, есть задача одновременного получения участников и одновременного отображения промежуточного прогресса с помощью channels, См. Здесь Ниже представлен фрагмент предлагае…
29 авг '21 в 17:57
1
ответ
Создание очереди для функции AssessmentJavascript в WebView
У меня гибридное приложение, некоторые из моих действий используют WebView для отображения веб-контента. Веб-приложение, которое я показываю в WebView, имеет интерфейс JS, который позволяет мне отправлять команды веб-приложению для перехода в разные…
02 янв '22 в 02:04
0
ответов
Невозможно отправить в канал Coroutines
Я практикую Coroutines Channel, и мне интересно, почему репозиторий.getAllRates() не срабатывает, даже если мой код достигает sellCurrencyChannel.send(CurrencyRate("", 0.0))? Я также подозреваю, что sellCurrencyChannel.send() не удалось. private val…
20 мар '22 в 13:37
0
ответов
Как объединить потоки Kotlin только тогда, когда первый выдает (не нулевое) значение, отписываясь от второго, если это не так?
Я пытаюсь добиться того, чтобы просто (повторно) подписываться, когда выдает значение, отличное от . Но нет стандартного способа сделать это (как я вижу). В моем сценарии продолжать выдавать значения без необходимости дорого, поэтому мне нужен спосо…
11 ноя '22 в 14:06