Diferencia entre revisiones de «Flutter DART Programación asíncrona»
Ir a la navegación
Ir a la búsqueda
| Línea 16: | Línea 16: | ||
| + | |||
| + | <center> | ||
| + | {{#ev:youtube|ACjGU5tFgT0}} | ||
| + | </center> | ||
| Línea 48: | Línea 52: | ||
<br /> | <br /> | ||
===Gestión de errores=== | ===Gestión de errores=== | ||
| + | |||
| + | <center> | ||
| + | {{#ev:youtube|QL8MGijbFeo}} | ||
| + | </center> | ||
| + | |||
| + | :<syntaxhighlight lang="java" enclose="div" highlight="8,11,24,26" > | ||
void main() { | void main() { | ||
| Línea 73: | Línea 83: | ||
//throw('Exepción no controlada'); | //throw('Exepción no controlada'); | ||
| − | return Future.delayed(Duration(seconds: 3),() => Future.error('Error controlado')); | + | return Future.delayed(Duration(seconds: 3),() => Future.error('Error controlado')); |
| − | |||
| − | |||
| − | |||
} | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | |||
Revisión del 10:30 12 jul 2021
Introducción
- Más información: https://dart.dev/codelabs/async-await
- La programación asíncrona hace referencia al uso de threads para ejecutar en modo 'paralelo' al hilo principal otra serie de tareas.
Futures
- Más información:
void main() { print('Inicia programa'); getImagenes('imagenes/animales').then( (datos) => print(datos) ); print('Fin programa'); } Future<List<String>> getImagenes(String path){ List<String> datos = ['1.jpg','2.jpg','3.jpg','4.jpg']; return Future.delayed(Duration(seconds: 4),() => datos); // Paramos el hilo durante 4 segundos // return Future.value(datos); }
Gestión de errores
void main() { print('Inicia programa'); try { getImages('imagenes/animales').then((datos) { datos.forEach((elem) => print('Dato:$elem')); }).catchError((e) { print(e);} ); } catch(e){ print('Excep:$e'); } print('Fin programa'); } Future<List<String>> getImages(String path){ List<String> imagenes = ['1.jpg','2.jpg','3.jpg']; // Búsqueda de imágenes a partir del path //throw('Exepción no controlada'); return Future.delayed(Duration(seconds: 3),() => Future.error('Error controlado')); }
Enlace a la página principal de la UD2
Enlace a la página principal del curso
-- Ángel D. Fernández González -- (2021).