Junior — Middle
¿Cómo se puede iniciar la ejecución de una función suspend en Kotlin?
sobes.tech AI
Respuesta de la IA
En Kotlin, las funciones suspend solo se pueden llamar desde otra función suspend o desde una coroutine. Para ejecutar una función suspend fuera de un contexto suspend, se utiliza un scope de coroutine y funciones de lanzamiento, como launch o async de la biblioteca kotlinx.coroutines.
Ejemplo:
import kotlinx.coroutines.*
suspend fun fetchData() {
delay(1000) // simulación de una operación larga
println("Datos recibidos")
}
fun main() {
runBlocking { // inicia una coroutine y bloquea el hilo actual
fetchData() // llamada a función suspend dentro de un contexto suspend
}
GlobalScope.launch { // inicia una coroutine en scope global
fetchData()
}
Thread.sleep(2000) // para que el programa no termine antes
}
Por lo tanto, para iniciar una función suspend, debes estar dentro de una función suspend o lanzar una coroutine usando launch, async o runBlocking.