Quiero hacer una imagen de carga y una vista previa, quiero hacer todas las imágenes seleccionadas en base64 y crear una matriz a partir de ella, pero después de onload y array.push array vuelve vacío, ¿alguna idea de lo que está mal? Estoy usando este código en reactjs pero para la demostración para compartirlo logré usar jQuery
function handleImage(e) { let image = e.target.files; let result = [...image]; let array = []; result && result.map(function(img, i) { let fileReader = new FileReader(); fileReader.readAsDataURL(img); fileReader.onload = () => { array.push(fileReader.result); } }) console.log(array) // return empty! } $('input[type="file"]').change(function(e) { handleImage(e) }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="file" onChange="handleImage" />