Публикации по теме 'kotlin-coroutines'


Котлин Корутины
Асинхронное и параллельное программирование играет важную роль в современном мире веб-API и микросервисов, где значительная часть нашего кода посвящена организации сетевых взаимодействий. Использование традиционных синхронных моделей, в которых потоки блокируются в ожидании внешних ответов, не подходит для платформ. Работа с потоками, синхронизацией и взаимоблокировками — это последнее, чего хотелось бы при написании асинхронных приложений. Что предлагает Kotlin для облегчения нашей..

Вопросы по теме 'kotlin-coroutines'

Обработка последовательностей в сопрограммах
Я пытаюсь использовать последовательность (например, FileTreeWalk , возвращенный из File.walk) внутри сопрограммы, но моя реализация продолжает блокировать поток пользовательского интерфейса. Есть ли хороший способ обрабатывать последовательности...
291 просмотров
schedule 14.12.2023

как передать функцию приостановки в качестве параметра другой функции? Котлинские сопрограммы
Я хочу отправить функцию приостановки в качестве параметра, но она показывает, что «Модификатор приостановки не применим к параметру значения». как это сделать? fun MyModel.onBG(suspend bar: () -> Unit) { launch {...
6646 просмотров
schedule 25.04.2024

Создание CoroutineDispatcher IdlingResource для тестов эспрессо
Я пытаюсь найти способ красиво реализовать IdlingResource, который будет опрашивать свойство isActive CoroutineDispatcher. Однако из-за отладки никогда не появляется активное задание при проверке этого свойства. До сих пор я пытался использовать...
839 просмотров

Не могу удалить приведение в режиме приостановки
В моем приложении для Android я использую библиотеку Retrofit 2. Здесь апи import retrofit2.Response import retrofit2.http.GET import retrofit2.http.Path import retrofit2.http.Query interface TraderMonitorRestClient {...
96 просмотров
schedule 10.06.2024

Котлин-сопрограммы: возможно ли без стандартной библиотеки?
Мой вопрос скорее теоретический. Я новичок в kotlin (прошел только туториал, не писал никакого реального кода). При чтении справочника по языку меня смущает тот факт, что «приостановить» является ключевым словом, но я не могу найти ничего похожего...
386 просмотров
schedule 22.12.2023

Kotlin: Как дождаться выхода сопрограммы из режима ожидания без блокировки запуска?
Изменить 2: Мне кажется, я неправильно понял документацию. Я читаю: runBlocking Эту функцию нельзя использовать из сопрограммы. Он предназначен для соединения обычного блокирующего кода с библиотеками, написанными в стиле...
4519 просмотров
schedule 02.03.2024

Kotlin Flow выполняет два вызова API параллельно и собирает каждый результат по мере его поступления.
Я пытаюсь реализовать кеш-стратегию, а затем сетевую стратегию для моего вызова API, используя Kotlin Flows . Вот что я сейчас пытаюсь flowOf( remoteDataSource.getDataFromCache() // suspending function returning Flow<Data> .catch {...
3822 просмотров

Почему мне все еще нужно добавить job.join() после того, как я использовал runBlocking в Kotlin?
Я изучаю сопрограммы котлина. Изображение А может получить правильный результат. Я думаю, что я использовал код runBlocking , и основная функция будет продолжать работать, пока не получит окончательный результат, но изображение B не удалось,...
497 просмотров
schedule 18.11.2023

Не удалось подключиться к серверной части Cloud Firestore
Я пишу приложение для обмена сообщениями, которое использует Firebase Firestore, Storage и Authentication. Сначала при открытии запрашиваются пользовательские данные, и если пользователь с введенным пользователем номером существует, тогда приложение...
729 просмотров

Как запустить несколько сопрограмм Kotlin параллельно и дождаться их завершения, прежде чем продолжить
Мне нужно запустить 2 сопрограммы параллельно и дождаться их завершения, прежде чем продолжить. Приведенный ниже код работает, но он использует GlobalScope , что не лучший способ сделать это. Есть ли способ лучше? fun getInfo(onSuccess: ()...
812 просмотров
schedule 03.02.2024

Coroutines Исключение теста не обрабатывается ни с TestCoroutineDispatcher, ни с TestCoroutineScope
Использование этого руководства для тестирования сопрограмм. Написание теста, который должен вызвать сбой исключения, вместо прохождения теста. Интересно, что я делаю не так. private val testDispatcher = TestCoroutineDispatcher()...
947 просмотров
schedule 03.06.2024

Преобразовать RXJava Single в Deferred сопрограммы?
У меня есть Single от RxJava, и я хочу продолжить работу с Deferred from Kotlin Coroutines. Как это сделать? fun convert(data: rx.Single<String>): kotlinx.coroutines.Deferred<String> = ... Мне была бы интересна какая-нибудь...
2591 просмотров

Фрагмент ViewModel воссоздает вращение экрана
Я создаю приложение с новейшими компонентами архитектуры Android. Я использую firebase firestore в качестве базы данных с навигацией по реактивному ранцу (нижняя навигация). Я успешно могу отображать данные из БД. Но всякий раз, когда я поворачиваю...
803 просмотров

Kotlin сопрограммы, как асинхронизировать список вызовов и вернуть результат в виде карты
var responseMap = mutableMapOf<VendorType, ChargeResponse>() requests.forEach { val response = when (it.vendorType) { VendorType.Type1 -> service.chargeForType1() VendorType.Type2 -> service.chargeForType2()...
86 просмотров
schedule 06.06.2024

Android: невозможное исключение NullPointerException при использовании viewModelscope и withContext
Моя проблема в том, что я получаю невозможное NullPointerException . Когда я получаю доступ к своим данным emailEntity из моего price variable без использования elvis-operator , мой price variable становится нулевым, а я получаю...
343 просмотров

В Kotlin один поток может запускать только одну сопрограмму за раз?
Я понимаю сопрограммы и потоки Kotlin так: Один поток может запускать только одну сопрограмму за раз. Поток может манипулировать несколькими сопрограммами. Он может приостановить сопрограмму и запустить другую сопрограмму. Но в данный момент...
273 просмотров

Компромиссы программирования с такими фреймворками, как reactivex, kotlin-coroutines, akka-субъекты?
Все эти фреймворки создают новый уровень абстракции поверх потоков. Например, использование kotlin-сопрограмм, по-видимому, потребует больше циклов ЦП, чем чистые потоки из-за планирования. Для реактивного у нас такая же ситуация, дополнительный...
70 просмотров

Тип этой внутренней сопрограммы
У меня есть функция: fun buttonClick(view: View){ CoroutineScope(Dispatchers.Default).launch{ //this:CoroutineScope Log.i(TAG,"${this.javaClass.toString()}") while (this.isActive) { //... } }...
35 просмотров
schedule 05.04.2024

Kotlin async в сопрограмме: исключение поймано и все еще распространяется?
Я запускаю сопрограмму в SupervisorJob с блоком try/catch, окружающим только вызовы await. Исключение из асинхронного блока перехватывается try/catch, но все равно распространяется, и приложение аварийно завершает работу. Вот что у меня есть:...
53 просмотров
schedule 30.10.2023