Junior — Middle
Como pode chamar uma função suspensa dentro de código síncrono?
sobes.tech IA
Resposta da IA
Não é possível chamar diretamente uma função suspensa a partir de código síncrono, pois ela requer um contexto de coroutine. No entanto, pode-se iniciar uma coroutine e aguardar o resultado de forma bloqueante usando a função runBlocking.
Exemplo:
import kotlinx.coroutines.*
fun main() {
val result = runBlocking {
suspendFunction()
}
println(result)
}
suspend fun suspendFunction(): String {
delay(1000)
return "Resultado"
}
runBlocking cria um escopo de coroutine e bloqueia a thread atual até que a coroutine termine, permitindo usar funções suspensas em código síncrono.