Conceptos básicos de Dart: programación asincrónica

Capítulo 28

Tiempo estimado de lectura: 3 minutos

+ Ejercicio
Audio Icon

Escuchar en audio

0:00 / 0:00

La programación asincrónica es un concepto fundamental en Dart, especialmente cuando se trata de crear aplicaciones con Flutter. Antes de profundizar en los detalles, comprendamos qué es la programación asincrónica y por qué es tan importante.

Los programas normalmente se ejecutan sincrónicamente, lo que significa que cada instrucción se ejecuta una tras otra. Sin embargo, algunos procesos pueden tardar más en completarse, como solicitudes de red, lectura de archivos, etc. Durante ese tiempo, el programa se ve obligado a esperar, lo que puede provocar una mala experiencia de usuario, especialmente en aplicaciones móviles donde la fluidez y la capacidad de respuesta son cruciales.

La programación asincrónica resuelve este problema al permitir que el programa continúe realizando otras tareas mientras espera que se complete la larga operación. Esto se hace a través de 'Future' y 'async/await', dos conceptos clave en la programación asincrónica de Dart.

Futuro

En Dart, un 'Futuro' representa un valor o error potencial que estará disponible en algún momento en el futuro. Es similar a 'Promise' en JavaScript. Cuando inicia una operación asíncrona, devuelve un 'Futuro'. Este 'Futuro' se 'completará' cuando se complete la operación o se 'rechazará' si ocurre un error.

Para manejar el resultado de un 'Futuro', puede usar el método 'then()' para especificar qué se debe hacer cuando el 'Futuro' se complete exitosamente, y el método 'catchError()' para manejar cualquier error. Además, puede encadenar varias llamadas 'then()' y 'catchError()', cada una de las cuales devuelve un nuevo 'Futuro'.

Continúa en nuestra aplicación.
  • Escuche el audio con la pantalla apagada.
  • Obtenga un certificado al finalizar.
  • ¡Más de 5000 cursos para que explores!
O continúa leyendo más abajo...
Download App

Descargar la aplicación

Asíncrono/Espera

Aunque 'Future' y sus métodos 'then()' y 'catchError()' son potentes, pueden generar código muy anidado y difícil de leer. Aquí es donde entran en juego 'async' y 'await'.

La palabra clave 'async' se utiliza para declarar una función asincrónica. Dentro de una función 'async', puede usar la palabra clave 'await' antes de una expresión para pausar la ejecución de la función hasta que se complete la expresión. La expresión suele ser una llamada a una función que devuelve un 'Futuro'.

El uso de 'async' y 'await' da como resultado un código más limpio y más fácil de entender, ya que le permite escribir código asincrónico como si fuera síncrono.

Ejemplo

Supongamos que tiene una función 'fetchData()' que devuelve un 'Futuro'. Así es como puedes usar 'Future', 'async' y 'await' para manejar esto:

Futuro<String> obtener datos() {
  // Simula una operación de red que tarda 2 segundos
  return Future.delayed(Duración(segundos: 2), () => '¡Hola mundo!');
}

vacío principal() asíncrono {
  print('Obteniendo datos...');
  Datos de cadena = esperar fetchData();
  print('Fecha: $datos');
}

Cuando ejecuta este código, imprime 'Obteniendo datos...', espera 2 segundos y luego imprime 'Datos: ¡Hola, mundo!'. Durante estos 2 segundos el programa no se bloquea, permitiendo ejecutar otras tareas.

En resumen, la programación asincrónica es un concepto crucial en Dart que le permite escribir aplicaciones fluidas y responsivas. Al utilizar 'Future' y 'async/await', puede realizar operaciones que requieren mucho tiempo, como solicitudes de red, sin bloquear el programa, lo que brinda una mejor experiencia de usuario.

Ahora responde el ejercicio sobre el contenido:

¿Qué permite la programación asincrónica en Dart y por qué es importante?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Siguiente capítulo

Conceptos básicos de dardos: conceptos básicos de aleteo

Arrow Right Icon
Portada de libro electrónico gratuitaCómo crear apps desde cero hasta avanzadas usando Flutter y Dart curso completo
10%

Cómo crear apps desde cero hasta avanzadas usando Flutter y Dart curso completo

5

(3)

267 páginas

Descarga la aplicación para obtener una certificación gratuita y escuchar cursos en segundo plano, incluso con la pantalla apagada.