Articles of async wait

API вызова Coroutine

Я должен асинхронно вызывать API. Для этого я использую сопрограмму coroutine, но мне нужно подождать, пока API будет вызван для загрузки данных. Проблема следующая: Ожидание не работает так, как я хочу, он не ждет, пока API предоставит все данные. Ожидает, что мне нужно? Вот код: override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_see) launch { loaddata() […]

Как запустить метод suspend посредством отражения?

Существует блок сопрограммы, который может запускать функции приостановки. Но я вызываю функцию путем invoke через отражение. Это вызов Java-стиля, по-видимому, простой вызов не будет работать. Существуют ли способы запуска отраженного метода асинхронно? Как дождаться этого метода? import kotlin.coroutines.experimental.* class TestClass(val InString: String) { suspend fun printString() { println(InString) } } fun launch(context: CoroutineContext, block: suspend […]

Async не ждет ожидания

Я новичок в Котлине и сопрограммах. Однако я хочу использовать его для инициализации библиотеки backport Android 3Ten, которая является долгосрочной задачей. Я использую библиотеку Metalab Async / Await ( co.metalab.asyncawait: asyncawait: 1.0.0 ). Это мой код: override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val application = this async { //non-blocking initialize ThreeTen await { AndroidThreeTen.init(application) […]

Kotlin Coroutines в службе Android

У меня есть служба Android, которая запускает и синхронизирует различные типы данных с сервером, когда он находится в сети. Я новичок в Kotlin coroutines, и я пытаюсь выполнить следующее: fun syncData{ //Job1 make retrofit call to server //Job2 make retrofit call to server after job1 is done. //Job3 make retrofit call to server after job […]

Как выполнить экспоненциальную повторную попытку повторения на kotlin coroutines

Я использую kotlin coroutines для сетевого запроса, используя метод расширения, чтобы вызвать класс в модификации, подобный этому public suspend fun <T : Any> Call<T>.await(): T { return suspendCancellableCoroutine { continuation -> enqueue(object : Callback<T> { override fun onResponse(call: Call<T>?, response: Response<T?>) { if (response.isSuccessful) { val body = response.body() if (body == null) { continuation.resumeWithException( […]

Есть ли способ повторно использовать экземпляр задания?

Я изучаю использование совместных подпрограмм в контексте потока пользовательского интерфейса Android. Я реализовал contextJob как описано в интерфейсе руководства contextJob . Фоновая работа просматривается из графического интерфейса, и я хочу перезапустить его при каждом нажатии (остановить текущий запуск и снова запустить его). Но задание, которое было отменено, нельзя использовать повторно, даже создавая работу ребенка: val […]

Kotlin Coroutines – правильный путь в Android

Я пытаюсь обновить список внутри адаптера, используя async, я вижу, что слишком много шаблонов. Правильно ли это использовать Kotlin Coroutines? можно ли это оптимизировать больше? fun loadListOfMediaInAsync() = async(CommonPool) { try { //Long running task adapter.listOfMediaItems.addAll(resources.getAllTracks()) runOnUiThread { adapter.notifyDataSetChanged() progress.dismiss() } } catch (e: Exception) { e.printStackTrace() runOnUiThread {progress.dismiss()} } catch (o: OutOfMemoryError) { o.printStackTrace() […]

Intereting Posts
«Ответ уже написан» с помощью Vertx Как определить функцию oneline, вызывающую функцию с нулевыми переменными Как объявить несколько свойств на одной строке error: не удается найти класс символов для добавления класса kotlin в класс java в android studio 3.0 stable Intellij IDEA не останавливается на контрольных точках Kotlin при работе с JUnit Требуется <Объект> и найден <Объект>? Сравнение двух вариантов в Котлине Как создать полный экран активности в android программно с помощью kotlin. Котлин разметит шестнадцатеричную строку длинной Почему при создании этого проекта появляется ошибка «Нет дескрипторов сборки». Оператор RxJava для переключения Неразрешенная ссылка: Kotlin нуждается в 2 сборках после очистки, чтобы получить код при использовании kapt Не удалось выполнить проверку: сбой инструментария из-за «kotlin.UninitializedPropertyAccessException» Spring Boot не может запускать одиночный тест в IntelliJ Kotlin Generics и nullable Тип класса