Flutter DART Programación asíncrona

De MediaWiki
Ir a la navegación Ir a la búsqueda

Introducción

  • 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).