I'm trying to read files inside several folders and I need the whole code goes synchronously.
I converted Callback
into Promise
and try to await
it:
function getEntries(reader) {
return new Promise((resolve, reject) => {
reader.readEntries((entries) => resolve(entries))
})
}
async function onDrop(e) {
e.preventDefault();
var items = e.dataTransfer.items;
for (var i=0; i<items.length; i++) {
var entry = items[i].webkitGetAsEntry();
if (entry.isDirectory) {
var reader = entry.createReader();
var entries = await getEntries(reader);
console.log(entries);
}
}
}
But for
loop goes just for the first folder. What's wrong? How I should reorganize my code?