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.