Sobes.tech
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.