У меня есть следующий код, в котором я пытаюсь прочитать файл с помощью FileReader и поместить его содержимое в массив. Только после того, как все данные были переданы, я хочу продолжить. Вот что у меня сейчас:
const confirm = () => {
var reader = new FileReader();
let images = [];
reader.onload = function(e) {
images.push(e.target.result);
};
reader.readAsDataURL(formValues.images[0].file);
console.log('images base 64');
console.log(images); // this prints the empty array.
};
Я хочу продолжить только после того, как изображения были обновлены с содержимым файла. Как я могу это сделать?
- edit -
Я хочу добавить несколько файлов в массив, поэтому я попробовал следующее.
var reader = new FileReader();
let images = [];
reader.onload = function(e) {
images.push(e.target.result);
console.log('images base 64');
console.log(images);
};
for (let i = 0; i < formValues.images.length; i++) {
reader.readAsDataURL(formValues.images[i].file);
}
Но это выдает ошибку «InvalidStateError: объект находится в недопустимом состоянии».