Junior — Middle
Cum se pornește o funcție suspendată în Kotlin?
sobes.tech AI
Răspuns de la AI
În Kotlin, o funcție suspendată (suspend function) nu pornește direct, ea poate fi apelată doar dintr-o altă funcție suspendată sau dintr-o coroutine. Pentru a porni o funcție suspendată, trebuie să creezi o coroutine folosind construcții precum launch sau async din biblioteca kotlinx.coroutines.
Exemplu de pornire a unei funcții suspendate:
import kotlinx.coroutines.*
suspend fun doWork() {
delay(1000)
println("Lucrarea a fost finalizată")
}
fun main() = runBlocking {
launch {
doWork() // pornirea funcției suspendate în interiorul unei coroutine
}
}
Aici, runBlocking creează o coroutine în firul principal, iar launch pornește o nouă coroutine în care se apelează funcția suspendată doWork. Astfel, funcția suspendată rulează în interiorul unei coroutine.