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