Junior — Middle
Ako spustiť pozastavenú funkciu v Kotlin?
sobes.tech AI
Odpoveď od AI
V Kotlinu sa suspendovaná funkcia (suspend function) nespúšťa priamo, môže byť volaná iba z inej suspendovanej funkcie alebo z korutiny. Na spustenie suspendovanej funkcie je potrebné vytvoriť korutinu pomocou konštrukcií ako launch alebo async z knižnice kotlinx.coroutines.
Príklad spustenia suspendovanej funkcie:
import kotlinx.coroutines.*
suspend fun doWork() {
delay(1000)
println("Práca ukončená")
}
fun main() = runBlocking {
launch {
doWork() // spustenie suspendovanej funkcie v korutine
}
}
Tu runBlocking vytvorí korutinu v hlavnom vlákne a launch spustí novú korutinu, v ktorej je volaná suspendovaná funkcia doWork. Takto sa suspendovaná funkcia vykonáva v rámci korutiny.