Junior — Middle
Wie kann man eine suspendierte Funktion in Kotlin starten?
sobes.tech KI
Antwort von AI
In Kotlin wird eine suspendierte Funktion (suspend function) nicht direkt gestartet, sie kann nur aus einer anderen suspendierten Funktion oder aus einer Coroutine aufgerufen werden. Um eine suspendierte Funktion zu starten, muss man eine Coroutine mit Konstruktionen wie launch oder async aus der Bibliothek kotlinx.coroutines erstellen.
Beispiel zum Starten einer suspendierten Funktion:
import kotlinx.coroutines.*
suspend fun doWork() {
delay(1000)
println("Arbeit beendet")
}
fun main() = runBlocking {
launch {
doWork() // Starten der suspendierten Funktion innerhalb einer Coroutine
}
}
Hier erstellt runBlocking eine Coroutine im Haupt-Thread, und launch startet eine neue Coroutine, in der die suspendierte Funktion doWork aufgerufen wird. Somit wird die suspendierte Funktion innerhalb einer Coroutine ausgeführt.