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