Junior — Middle
Hoe start je een onderbroken functie in Kotlin?
sobes.tech AI
Antwoord van AI
In Kotlin wordt een suspend-functie (suspend function) niet direct gestart, deze kan alleen worden aangeroepen vanuit een andere suspend-functie of vanuit een coroutine. Om een suspend-functie te starten, moet je een coroutine maken met constructies zoals launch of async uit de kotlinx.coroutines-bibliotheek.
Voorbeeld van het starten van een suspend-functie:
import kotlinx.coroutines.*
suspend fun doWork() {
delay(1000)
println("Werk voltooid")
}
fun main() = runBlocking {
launch {
doWork() // start de suspend-functie binnen een coroutine
}
}
Hier creëert runBlocking een coroutine in de hoofdthread, en launch start een nieuwe coroutine waarin de suspend-functie doWork wordt aangeroepen. Op deze manier wordt de suspend-functie uitgevoerd binnen een coroutine.