Как получить доступ к элементу FileReader вне метода reader.onload

У меня есть опция загрузки файла в моем HTML-файле

<input type="file" id="myFile1">
<input type="file" id="myFile2">

Я использую FileReader в Javascript и помещаю значения в массив. Здесь массив файлов имеет все значения файлов, прочитанных из файла ввода html.

 var count = files.length;
  var formValues= []; 

    var reader = new FileReader();

    reader.onload = (function(myfile) {
      return function(event) {
        formValues.push(event.target.result); 
      }
    })(file);
    reader.readAsDataURL(file);
  }

Здесь значения добавляются в массив formValues. Теперь мне нужно сделать несколько других модификаций этого массива и отправить его на контроллер.

Я перебираю formValues ​​для доступа к значению файла, которое было установлено в reader.onload.

for (var i = 0; i < formValues.length; i++)
{
   console.log (formValues[i]);
}

Если я пытаюсь получить доступ к этому значению, оно не идет внутри цикла, но если в браузере установлена ​​точка останова, оно идет внутри цикла. Я знаю, чтобы использовать formValues, я должен использовать его внутри метода reader.onload. Поскольку formValues ​​имеет значение file, почему я не могу получить доступ к значению, если перебираю этот массив? Мне нужно получить доступ к этому массиву снаружи, чтобы добавить еще несколько элементов в этот массив, кроме значения файла.

0 ответов

Другие вопросы по тегам