Uso JS FileReader y necesito tomar el resultado después de la operación de lectura de archivo y manipular con esta información. FileReader se lee de forma asíncrona y no sé, cuando el resultado está listo para usar. ¿Como hacer esto?HTML5 FileReader cómo devolver el resultado?
$(document).ready(function(){
$('#file_input').on('change', function(e){
var res = readFile(this.files[0]);
//my some manipulate with res
$('#output_field').text(res);
});
});
function readFile(file){
var reader = new FileReader(),
result = 'empty';
reader.onload = function(e)
{
result = e.target.result;
};
reader.readAsText(file);
//waiting until result is empty?
return result;
}
Es espectáculo "vacío".
¿Cómo se espere hasta que el "resultado" esté vacio? Otra forma?
¿Hay alguna diferencia entre los dos 'e's? –
@ChrisChudzicki Sí, son diferentes. La primera 'e' es [jQuery event object] (https://api.jquery.com/category/events/event-object/). La segunda 'e' es [load event object] (https://developer.mozilla.org/en-US/docs/Web/Events/load). – trafalgarx