JSFiddle - React, Tailwind, and code Playground

HTML

<input id="folderInput" type="file" v-on:change="getFiles" webkitdirectory directory multiple>

JavaScript

document.getElementById("folderInput").addEventListener('change', doThing);

/* function */
function doThing(){
	var filesArray = Array.from(event.target.files);
  
  readmultifiles(filesArray).then(function(results){
  	console.log("Result read :"+results.length);
  })
}

function readmultifiles(files) {
  const results = [];
  return files.reduce(function(p, file) {
    return p.then(function() {
      return readFile(file).then(function(data) {
        // put this result into the results array
        results.push(data);
      });
    });
  }, Promise.resolve()).then(function() {
    // make final resolved value be the results array
    console.log("Returning results");
    return results;
  });
}

function readFile(file) {
        
  const reader = new FileReader();

  return new Promise(function(resolve, reject) {
    reader.onload = function(e) {
      resolve(e.target.result);
    };
    reader.onerror = reader.onabort = reject;
    reader.readAsArrayBuffer(file);
  });
}