У меня есть итерации в for
цикл по количеству файловЧтение нескольких файлов синхронно в Javascript с использованием FileReader
Я должен прочитать первую строку каждого файла и добавить его, скажем, на карте, имеющей имя файла в качестве ключа и Первая строка этого файла в качестве значения.
Я использую FileReader
, чтобы прочитать файл, но он асинхронный.
Когда я открываю поток для чтения файла, цикл увеличивается до того, как я закончил чтение файла и добавление нужной записи на карту.
Мне нужна синхронная операция. Прочитайте первую строку, добавьте ее на карту, а затем увеличьте цикл и перейдите к следующему файлу.
for (var i = 0; i < files.length; i++){
var file = files[i];
var reader = new FileReader();
reader.onload = function(progressEvent){
var lines = progressEvent.target.result.split('\n');
firstLine = lines[0];
alert('FirstLine'+firstLine);
//add to Map here
}
reader.readAsText(file);
}
Как изменить код, чтобы достичь вышеупомянутых функциональных возможностей.
Для синхронизации процесса вы можете использовать '' recursion' или обещание chain' – Rajesh
@Rajesh могли бы вы помочь мне с этим, я не про работы с JS. – Abhishek
вы можете попробовать что-то вроде этого: [JSFiddle] (https://jsfiddle.net/xw3cbcyo/). Это пример кода. – Rajesh