Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/11/2013, 13:08
tonnot
 
Fecha de Ingreso: noviembre-2010
Mensajes: 70
Antigüedad: 13 años, 5 meses
Puntos: 0
Do while con un proceso de FileReader ...

Hola a todos.
Tengo un problema serio de asyncronia.....

Tengo un código con el que leo de un fichero de mi ordenador datos, tengo un bucle en el que aumento la cantidad de datos leidos en caso de que no se cumpla una condición.
(estoy intentando leer ficheros de gigas con xyz's....)

Este es el codigo donde tengo elk problema de 'cuelgue':

Código:
var leer=true;
var validador= false;
do 
    {  
	if (leer)
	{ leer=false;
	  
	 

	   read (  // pasamos un callback al read para que vuelva ...
	       function read_ok (result) {	 
                   window.alert ("me han llamado") 			
 	           validador=true;
 	          
	        }		  
	    );
	 }

	} while (validador==false);
En la llamda a la funcion 'read', tengo un codigo que funciona perfectamente y que controla el envento 'onloadend' del filereader para llamar a la funcion read_ok que a su vez he pasado como callback.

Si pongo validador=true al prinicpio para que el programa salga del bucle, el evento onloadend se 'escucha' como dios manda, llama a la funcion que le ha pasado y todo correcto.

El problema es que el do-while de alguna manera impide que se 'recoga' ese evento. Parece que da prioridad 100% al do-while

Que estoy haciendo mal ? Creo que con el código que he puesto tiene que entenderse mi problema (sobre todo porque el codigo de lectura va bien...).

Gracias de antemano.
Gracias.