Junior — Middle
Jak uruchomić zawieszoną funkcję w Kotlin?
sobes.tech AI
Odpowiedź od AI
W Kotlinie funkcja zawieszona (suspend function) nie jest uruchamiana bezpośrednio, może być wywołana tylko z innej funkcji zawieszonej lub z korutyny. Aby uruchomić funkcję zawieszoną, należy utworzyć korutynę za pomocą konstrukcji takich jak launch lub async z biblioteki kotlinx.coroutines.
Przykład uruchomienia funkcji zawieszonej:
import kotlinx.coroutines.*
suspend fun doWork() {
delay(1000)
println("Praca zakończona")
}
fun main() = runBlocking {
launch {
doWork() // uruchomienie funkcji zawieszonej w korutynie
}
}
Tutaj runBlocking tworzy korutynę w głównym wątku, a launch uruchamia nową korutynę, w której wywoływana jest funkcja zawieszona doWork. W ten sposób funkcja zawieszona jest wykonywana w ramach korutyny.