Estoy tratando de hacer un programa que lea todos los archivos en su computadora y coloque sus rutas dentro de una matriz. Sin embargo, la función es recursiva y no sé cómo registrar los resultados una vez que se realiza la función.
Obviamente, necesito algún tipo de devolución de llamada, pero probé varios enfoques diferentes y la función de devolución de llamada termina ejecutándose antes de que se complete el resultado. Además, quiero que la función de devolución de llamada solo se ejecute una vez (cuando finalice la función recursiva).
Este es mi código en este momento, ¿cómo inserto una función de devolución de llamada en la función readAllFolders?
const testFolder = "C:/"; const fs = require('fs'); function readAllFolders(path){ var returnArr = []; fs.promises.readdir(path, (err, files) => { if(err){ return; } files.forEach(file => { try{ var filePath = path + file; if(fs.existsSync(filePath) && fs.lstatSync(filePath).isDirectory()){ readAllFolders(filePath + '/'); }else{ returnArr.push(filePath); } }catch(e){ } }); }); return returnArr; } var arr = readAllFolders(testFolder); console.log(arr);