Junior — Middle
Kako inicirati izvršavanje suspend funkcije u Kotlinu?
sobes.tech АИ
Одговор од АИ
U Kotlinu, suspend funkcije mogu se pozvati samo iz druge suspend funkcije ili iz korutine. Za pokretanje suspend funkcije van suspend konteksta, koristi se coroutine scope i funkcije pokretanja poput launch ili async iz biblioteke kotlinx.coroutines.
Primer:
import kotlinx.coroutines.*
suspend fun fetchData() {
delay(1000) // simulacija duge operacije
println("Podaci primljeni")
}
fun main() {
runBlocking { // pokreće korutinu i blokira trenutni tok
fetchData() // poziv suspend funkcije unutar suspend konteksta
}
GlobalScope.launch { // pokretanje korutine u globalnom scope
fetchData()
}
Thread.sleep(2000) // da program ne završi ranije
}
Dakle, za iniciranje suspend funkcije, morate biti unutar suspend funkcije ili pokrenuti korutinu pomoću launch, async ili runBlocking.