Sobes.tech
Junior — Middle

Comment peut-on lancer une fonction suspendue en Kotlin?

sobes.tech IA

Réponse de l'IA

En Kotlin, une fonction suspendue (suspend function) ne s'exécute pas directement, elle ne peut être appelée que depuis une autre fonction suspendue ou depuis une coroutine. Pour lancer une fonction suspendue, il faut créer une coroutine à l'aide de constructions telles que launch ou async de la bibliothèque kotlinx.coroutines.

Exemple de lancement d'une fonction suspendue :

import kotlinx.coroutines.*

suspend fun doWork() {
    delay(1000)
    println("Travail terminé")
}

fun main() = runBlocking {
    launch {
        doWork()  // lancement de la fonction suspendue dans une coroutine
    }
}

Ici, runBlocking crée une coroutine dans le thread principal, et launch démarre une nouvelle coroutine dans laquelle la fonction suspendue doWork est appelée. Ainsi, la fonction suspendue s'exécute à l'intérieur d'une coroutine.