En la kotlinx.coroutinesbiblioteca, puede comenzar una nueva rutina utilizando launch(con join) o async(con await). ¿Cuál es la diferencia entre
En la kotlinx.coroutinesbiblioteca, puede comenzar una nueva rutina utilizando launch(con join) o async(con await). ¿Cuál es la diferencia entre
Estoy leyendo Kotlin Coroutine y sé que se basa en la suspendfunción. ¿Pero qué suspendsignifica? ¿Corutina o función se suspende? De https://kotlinlang.org/docs/reference/coroutines.html Básicamente, las corrutinas son cálculos que se pueden suspender sin bloquear un hilo. Escuché que la...
He estado leyendo documentos de Kotlin , y si entendí correctamente, las dos funciones de Kotlin funcionan de la siguiente manera: withContext(context): cambia el contexto de la corrutina actual, cuando se ejecuta el bloque dado, la corrutina vuelve al contexto anterior. async(context): Inicia...
¿Se pueden utilizar las corrutinas de Kotlin en producción y qué significa su estado experimental?
Actualmente estoy tratando de aprovechar más las corotinas de Kotlin. Pero me enfrento a un problema: cuando uso moshi u okhttp dentro de estas corutinas recibo una advertencia: "llamada de método de bloqueo inapropiado" ¿Cuál es la mejor manera de arreglar esto? Realmente no quiero ser...
Tengo algunas preguntas sobre Kotlin Flow Puedo observar LiveData desde múltiples Fragmentos. ¿Puedo hacer esto con Flow? Si es así, ¿entonces cómo? Podemos tener múltiples LiveData desde un solo LiveData usando map& switchMap. ¿Hay alguna manera de tener múltiples flujos de una sola fuente...
Actualización: funciona si primero ejecuto una rutina sin tiempo de espera y luego con Timeout. Pero si ejecuto primero una rutina con Timeout, entonces me da un error. Lo mismo ocurre con Async también. Estoy creando una aplicación de demostración multiplataforma kotlin donde estoy ejecutando una...
¿Las corutinas de Kotlin ofrecen garantías de "sucede antes"? Por ejemplo, ¿existe una garantía de "sucede antes" entre la escritura mutableVary la posterior lectura en (potencialmente) otro hilo en este caso: suspend fun doSomething() { var mutableVar = 0 withContext(Dispatchers.IO) {...
En la última E / S de Google, Jose Alcerreca y Yigit Boyar nos dijeron que ya no deberíamos usar LiveData para obtener datos. Ahora deberíamos usar las funciones de suspensión para las recuperaciones de una sola vez y usar Kotlin's Flow para crear un flujo de datos. Estoy de acuerdo en que las...
¿Tiene alguna idea de cómo implementar un patrón de repositorio con las rutinas NetworkBoundResource y Kotlin? Sé que podemos lanzar una corutina dentro de un GlobalScope, pero puede conducir a una fuga de rutina. Me gustaría pasar un viewModelScope como parámetro, pero es un poco complicado cuando...