jueves, 21 de abril de 2011

Proceso asíncrono vs. proceso síncrono en la lectura de archivos en AIR

Proceso síncrono

var stream:FileStream = new FileStream();
stream.open(fileRef, FileMode.READ);

var data:String = stream.readUTFBytes(stream.bytesAvailable);
stream.close();

Proceso asíncrono

var stream:FileStream = new FileStream();
stream.addEventListener(Event.COMPLETE, onComplete);

function onComplete(e;Event):void{
   var data:String = stream.readUTFBytes(stream.bytesAvailable);
   stream.close();
}

Creamos una nueva instancia de FileStream, y la controlamos con un evento Event.COMPLETE
y cuando este completa, leemos el archivo y lo cerramos.

El proceso síncrono es facil de codificar pero hace que la aplicación se detenga en lo que se lee el archivo, por lo que debe utilizarse en el proceso de archivos pequeños.

El proceso asíncrono es más código, pero se pueden utilizar en archivos grandes, ya que no detiene la operación del sistema.

No hay comentarios:

Publicar un comentario