Junior — Middle
Como iniciar uma função suspensa em Kotlin?
sobes.tech IA
Resposta da IA
No Kotlin, uma função suspensa (suspend function) não é executada diretamente, ela só pode ser chamada a partir de outra função suspensa ou de uma coroutine. Para iniciar uma função suspensa, deve-se criar uma coroutine usando construções como launch ou async da biblioteca kotlinx.coroutines.
Exemplo de como iniciar uma função suspensa:
import kotlinx.coroutines.*
suspend fun doWork() {
delay(1000)
println("Trabalho concluído")
}
fun main() = runBlocking {
launch {
doWork() // iniciar função suspensa dentro de uma coroutine
}
}
Aqui, runBlocking cria uma coroutine na thread principal, e launch inicia uma nova coroutine na qual a função suspensa doWork é chamada. Assim, a função suspensa é executada dentro de uma coroutine.