Sobes.tech
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.