Sobes.tech
Junior — Middle

Kaip paleisti sustabdytą funkciją Kotlin?

sobes.tech AI

Atsakymas iš AI

Kotlin'e sustabdytos funkcijos (suspend function) nėra tiesiogiai paleidžiamos, jas galima iškviesti tik iš kitos sustabdytos funkcijos arba iš korutinos. Norint paleisti sustabdytą funkciją, reikia sukurti korutiną naudojant tokias konstrukcijas kaip launch arba async iš bibliotekos kotlinx.coroutines.

Pavyzdys, kaip paleisti sustabdytą funkciją:

import kotlinx.coroutines.*

suspend fun doWork() {
    delay(1000)
    println("Darbas baigtas")
}

fun main() = runBlocking {
    launch {
        doWork()  // paleisti sustabdytą funkciją korutinoje
    }
}

Čia runBlocking sukuria korutiną pagrindiniame sraute, o launch paleidžia naują korutiną, kurioje iškviečiama sustabdytos funkcijos doWork. Taip, sustabdytos funkcijos vykdomos korutinoje.