Sobes.tech
Junior — Middle

Hogyan indítható el egy szüneteltetett funkció Kotlinban?

sobes.tech MI

Válasz az MI-től

Kotlinben egy suspendált függvény (suspend function) nem indul el közvetlenül, csak másik suspendált függvényből vagy korutinából hívható meg. Egy suspendált függvény indításához korutint kell létrehozni olyan konstrukciókkal, mint a launch vagy az async a kotlinx.coroutines könyvtárból.

Példa egy suspendált függvény indítására:

import kotlinx.coroutines.*

suspend fun doWork() {
    delay(1000)
    println("Munka befejezve")
}

fun main() = runBlocking {
    launch {
        doWork()  // suspendált függvény indítása korutinban
    }
}

Itt a runBlocking létrehoz egy korutint a fő szálon, és a launch elindít egy új korutint, amelyben a doWork suspendált függvény hívódik. Így a suspendált függvény korutinon belül fut.