Junior — Middle
¿Cómo se puede llamar a una función suspendida desde código sincrónico?
sobes.tech AI
Respuesta de la IA
No se puede llamar directamente a una función suspend desde código sincrónico, ya que requiere un contexto de corrutina. Sin embargo, se puede iniciar una corrutina y esperar el resultado de manera bloqueante usando la función runBlocking.
Ejemplo:
import kotlinx.coroutines.*
fun main() {
val result = runBlocking {
suspendFunction()
}
println(result)
}
suspend fun suspendFunction(): String {
delay(1000)
return "Resultado"
}
runBlocking crea un ámbito de corrutina y bloquea el hilo actual hasta que la corrutina termina, lo que permite usar funciones suspend en código sincrónico.