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