Flutter DART Programación asíncrona
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).