Kotlin Multiplatform Academy · Lección

Funciones suspend como async de Swift

Consuma corrutinas de Kotlin desde la concurrencia de Swift

Lección 2 de 413 pasos

Funciones suspend como async de Swift es una lección gratuita de Kotlin Multiplatform Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Kotlin Multiplatform Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.

Suspend se encuentra con async

Una suspend function de Kotlin se expone a Swift como un método async, de modo que iOS puede esperarlo con la concurrencia nativa de Swift.

suspend fun loadUser(): User

No necesita callbacks

Los puentes antiguos obligaban a utilizar manejadores de finalización. El KMP moderno asigna suspend directamente a async, por lo que el código de Swift se mantiene limpio y lineal.

Espere su resultado en Swift

Desde Swift, simplemente haga await de la llamada dentro de un contexto asíncrono. La corrutina se ejecuta y reanuda Swift cuando termina.

let user = try await repo.loadUser()

Los errores se convierten en throws

Si la función suspendible puede fallar, Swift la interpreta como un método asíncrono que puede lanzar errores, así que debe envolver await en try y capturar los errores.

do { try await repo.loadUser() }
catch { print(error) }

La cancelación se propaga

Cuando Swift cancela su Task, esa cancelación se propaga a la corrutina de Kotlin y detiene correctamente el trabajo compartido.

Ejecútelo en una Task

Llame a su función asíncrona compartida desde una Task de Swift cuando no se encuentre ya en un contexto asíncrono, por ejemplo, al pulsar un botón.

Task {
    let u = try await repo.loadUser()
}

Elija el dispatcher adecuado

La corrutina se ejecuta en el dispatcher que haya configurado en el código compartido, por lo que el trabajo pesado queda fuera del hilo principal de iOS de forma predeterminada.

Devolver valores

Lo que devuelva la función suspendible se convierte en el resultado de await en Swift, mediante las reglas habituales de Kotlin a Obj-C.

Unit significa Void

Una función suspendible que devuelve Unit aparece en Swift como un método asíncrono que simplemente no devuelve nada, igual que void.

Generado por SKIE

KMP sin herramientas adicionales ofrece compatibilidad asíncrona básica, pero herramientas como SKIE generan firmas de Swift aún más fluidas para estas llamadas suspendibles.

Lineal y legible

La gran ventaja es la legibilidad: la lógica async compartida se lee de arriba abajo en Swift, sin callbacks anidados ni pirámides de finalización.

Comprobación rápida

Veamos cómo se comporta una función suspendible desde Swift.

Repaso

suspend de Kotlin se convierte en async de Swift: haga await dentro de una Task, capture los errores lanzados y deje que la cancelación fluya en ambos sentidos. Concurrencia limpia. ✅

Gratis para empezar

Aprende Kotlin con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «Funciones suspend como async de Swift» es gratis?

Sí — el texto completo de «Funciones suspend como async de Swift» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Kotlin Multiplatform Academy, actualiza a CoddyKit PRO. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Funciones suspend como async de Swift»?

Consuma corrutinas de Kotlin desde la concurrencia de Swift Practicas Kotlin Multiplatform Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Kotlin Multiplatform Academy?

No se requiere experiencia previa. Kotlin Multiplatform Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Funciones suspend como async de Swift»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Kotlin Multiplatform Academy?

Sí. Cada lección de Kotlin Multiplatform Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Cómo asigna Kotlin los tipos a Objective-C
  2. Funciones suspend como async de Swift
  3. Recopile Flows desde Swift
  4. @ObjCName y API adaptadas a Swift
← Volver a Kotlin Multiplatform Academy