Sobes.tech
Junior — Middle

Jak spustit pozastavenou funkci v Kotlinu?

sobes.tech AI

Odpověď od AI

V Kotlinu se suspendovaná funkce (suspend function) nespouští přímo, může být volána pouze z jiné suspendované funkce nebo z korutiny. Pro spuštění suspendované funkce je třeba vytvořit korutinu pomocí konstrukcí jako launch nebo async z knihovny kotlinx.coroutines.

Příklad spuštění suspendované funkce:

import kotlinx.coroutines.*

suspend fun doWork() {
    delay(1000)
    println("Práce dokončena")
}

fun main() = runBlocking {
    launch {
        doWork()  // spuštění suspendované funkce uvnitř korutiny
    }
}

Zde runBlocking vytvoří korutinu v hlavním vlákně a launch spustí novou korutinu, ve které je volána suspendovaná funkce doWork. Tímto způsobem se suspendovaná funkce spouští uvnitř korutiny.