doAsync Kotlin-android no funciona bien

Estoy usando una function de callback cuando termina la synchronization. pero no funciona bien 🙁

mi caso:

fun function1(callback : (obj1: List<ObjT1>,obj2: List<ObjT1>)-> Unit?){ doAsync { //long task uiThread { callback(result1, result2) } } } 

se llama a la callback, pero result1 y result2 (lists) están vacíos. Revisé previamente el contenido de la list.

EDITAR: PROBLEMA: mi callback es una function que recibe 2 objects resultado 1 y resultado2, el problema es que la function de callback a veces recibe los resultados vacíos, reviso su contenido y no está vacío.

Puede ser porque ha declarado el tipo de devolución como Unit? pero están devolviendo dos valores. Una solución rápida sería poner result1 y result2 en una matriz.

Considera usar las corotinas de Kotlin. Coroutines es una característica más nueva en Kotlin. Todavía está técnicamente en fase experimental, pero JetBrains nos ha dicho que es muy estable. Lea más aquí: https://kotlinlang.org/docs/reference/coroutines.html

Aquí hay un código de muestra:

 fun main(args: Array<String>) = runBlocking { // runBlocking is only needed here because I am calling join below val job = launch(UI) { // The launch function allows you to execute suspended functions val async1 = doSomethingAsync(250) val async2 = doSomethingAsync(50) println(async1.await() + async2.await()) // The code within launch will // be paused here until both async1 and async2 have finished } job.join() // Just wait for the coroutines to finish before stopping the program } // Note: this is a suspended function (which means it can be "paused") suspend fun doSomethingAsync(param1: Long) = async { delay(param1) // pause this "thread" (not really a thread) println(param1) return@async param1 * 2 // return twice the input... just for fun } 
  • Cómo implementar la function abstracta en las constantes de Enum
  • Crear una instancia de un oyente de interfaz en Kotlin
  • ¿Cómo puedo hacer reference a un argumento sin nombre de una expresión when?
  • Reflexión de Kotlin: compruebe si la propiedad tiene tipo
  • que hace (x..x) .map hacer en kotlin android
  • ¿En qué situación val / var es necesaria en el parámetro constructor de Kotlin?
  • Filtro para tipo genérico sin reflexión o casting
  • Android Kotlin - Adaptador ListView de la list de objects
  • Referencia no resuelta de Kotlin en time de compilation
  • Android Parcelable en Kotlin: CREATOR no encontrado en la class de datos Parcelable
  • ¿Dónde / Cómo se agrega documentation para los packages de Kotlin?