Работаю с загрузчиком файлов и папок через новое api. Написал рекурсивную функцию которая проходится по всем папкам и достает оттуда файлы.
readEntry(entry, fileList) {
const files = fileList || [];
const dirReader = entry.createReader();
dirReader.readEntries((entries) => {
entries.forEach((item) => {
const trueFile = item.file(file => file); // undefined
if (item.isDirectory) {
this.readEntry(trueFile, files);
} else {
files.push(trueFile);
}
});
});
return files;
}
Заодно в этой же функции хочу из item который является entryFile получить нормальный File, пользуюсь функцией entryFile.file(). Получаю undefined. Хотя если сделать консоль лог trueFile в сеттаймауте то значение присутствует. Почему так долго выполняется эта функцию? Как быть?