Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

117
Vistas
Especifique un objeto LiveData existente para la función de creación de kotlin de liveData

Por ejemplo, podemos crear un objeto LiveData usando una función de construcción de liveData :

 var liveData: LiveData<String> = liveData(Dispatchers.IO) { delay(1000) emit ("hello") delay(1000) emit ("world") }

Esto es útil en ViewModel , creo un objeto LiveData que recibe múltiples valores de datos de una función asincrónica pesada en una línea.

Pero, ¿qué pasa si ya tengo un objeto MutableLiveData y solo quiero publicar valores allí, sin crear un nuevo objeto LiveData ? ¿Cómo puedo hacer esto?

Necesito una forma de emitir de forma asíncrona múltiples valores en el objeto MutableLiveData existente dentro de un alcance de ViewModel para finalizar automáticamente todas las tareas en ejecución cuando se borre ViewModel.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede publicar en MutableLiveData en una rutina iniciada desde viewModelScope .

 private val myMutableLiveData = MutableLiveData<String>() fun someFun() { viewModelScope.launch { myMutableLiveData.value = “Hello” delay(500L) myMutableLiveData.value = “World” myMutableLiveData.value = someSuspendFunctionRetriever() val result = withContext(Dispatchers.IO) { someBlockingCallRetriever() } myMutableLiveData.value = result // or use post() when not on Main dispatcher: withContext(Dispatchers.IO) { val result = someBlockingCallRetriever() myMutableLiveData.post(result) } } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda