Junior — Middle
Comment peut-on appeler une fonction suspendue depuis du code synchrone?
sobes.tech IA
Réponse de l'IA
Il n'est pas possible d'appeler directement une fonction suspendue depuis du code synchrone, car elle nécessite un contexte de coroutine. Cependant, vous pouvez lancer une coroutine et attendre le résultat de manière bloquante en utilisant la fonction runBlocking.
Exemple :
import kotlinx.coroutines.*
fun main() {
val result = runBlocking {
suspendFunction()
}
println(result)
}
suspend fun suspendFunction(): String {
delay(1000)
return "Résultat"
}
runBlocking crée une portée de coroutine et bloque le thread actuel jusqu'à ce que la coroutine se termine, ce qui permet d'utiliser des fonctions suspendues dans du code synchrone.