Ich habe eine for
Schleife Iterieren über die Anzahl der Dateienmehr Dateien synchron in Javascript mit Filereader
Ich habe Lese die erste Zeile jeder Datei zu lesen, und fügen Sie das auf eine Karte mit Dateinamen als Schlüssel sagen lassen und erste Zeile dieser Datei als Wert.
Ich verwende FileReader
, um die Datei zu lesen, aber es ist asynchron.
Wenn ich einen Stream zum Lesen der Datei öffne, wird die Schleife inkrementiert, bevor ich mit dem Lesen der Datei fertig bin und den gewünschten Eintrag zur Karte hinzufüge.
Ich brauche einen synchronen Vorgang, d. H. Lies die erste Zeile, füge sie zur Karte hinzu und inkrementiere dann die Schleife und fahre mit der nächsten Datei fort.
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);
}
So ändern Sie den Code, um die oben genannte Funktionalität zu erreichen.
einen Prozess synchronisieren Sie 'recursion' oder' Versprechen chain' – Rajesh
@Rajesh könnten Sie mir bitte helfen Sie sie verwenden können, ist kein Profi mit JS arbeiten. – Abhishek
können Sie etwas wie folgt versuchen: [JSFiddle] (https://jsfiddle.net/xw3cbcyo/). Dies ist ein Beispielcode. – Rajesh