¿Qué significa la palabra clave suspend en las corrutinas de Kotlin?
¡Hola a todos! Empecé a estudiar corrutinas en Kotlin, pero no logro entender qué hace la palabra clave `suspend` antes de una función. Leí la documentación, pero las explicaciones son demasiado abstractas.
Aquí hay un ejemplo que intento escribir:
```kotlin
fun fetchUserData(): String {
Thread.sleep(2000) // simulación de una solicitud larga
return "User data loaded"
}
fun main() {
println("Start")
val result = fetchUserData()
println(result)
println("End")
}
```
Este código funciona, pero bloquea el hilo principal. Quiero hacer lo mismo con corrutinas, pero no entiendo por qué necesito escribir `suspend` y qué aporta.
Intenté escribir así:
```kotlin
suspend fun fetchUserDataSuspend(): String {
delay(2000)
return "User data loaded"
}
fun main() {
println("Start")
val result = fetchUserDataSuspend() // ¡Error de compilación!
println(result)
println("End")
}
```
El compilador da un error: "Suspend function 'fetchUserDataSuspend' should be c
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Trabajo con JSON en C++: análisis y serialización para principiantes
Cadenas multilínea en C#: desde trucos hasta C# 11 — guía completa
Monitoreo de aplicaciones TypeScript: métricas y alertas de la A a la Z
CQRS y Event Sourcing en Java: Arquitectura que no teme a la complejidad