Поиск файлов
Привет! Есть этот способ, но он довольно медленный. Можно ли сделать подобное быстрее?
|
Epitough,
следующим ответом по ссылке есть require('child_process').execFile подозреваю что если дерево папок развесистое, то этот вариант уделает по скорости все остальные. |
Это мне не подходит.
Сделал вот такое: const walk = (start, callback) => { let res = []; fs.lstat(start, (err, stat) => { if (err) { return callback(err) } if (stat.isDirectory()) { fs.readdir(start, (err, files) => { let coll = files.reduce((acc, i) => { let abspath = path.join(start, i); if (fs.statSync(abspath).isDirectory()) { walk(abspath, callback); acc.push(abspath); } else { acc.push(abspath); } return acc; }, []); res = res.concat(coll); return callback(start, res); }); } else { return callback(new Error("path: " + start + " is not a directory")); } }) };Не подскажешь как сделать вывод одного массива с результатами? А еще лучше что бы массив уже формировался в функции |
Часовой пояс GMT +3, время: 12:52. |