Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.12.2018, 16:30
Новичок на форуме
Отправить личное сообщение для Epitough Посмотреть профиль Найти все сообщения от Epitough
 
Регистрация: 12.11.2018
Сообщений: 7

Поиск файлов
Привет! Есть этот способ, но он довольно медленный. Можно ли сделать подобное быстрее?
Ответить с цитированием
  #2 (permalink)  
Старый 07.12.2018, 17:12
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Epitough,
следующим ответом по ссылке есть require('child_process').execFile

подозреваю что если дерево папок развесистое, то этот вариант уделает по скорости все остальные.
Ответить с цитированием
  #3 (permalink)  
Старый 07.12.2018, 20:12
Новичок на форуме
Отправить личное сообщение для Epitough Посмотреть профиль Найти все сообщения от Epitough
 
Регистрация: 12.11.2018
Сообщений: 7

Это мне не подходит.
Сделал вот такое:
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"));
        }
    })
};
Не подскажешь как сделать вывод одного массива с результатами? А еще лучше что бы массив уже формировался в функции
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как избежать ошибки по ограничению открытых файлов? Tipylja Node.JS 3 17.08.2018 19:43
Чтение и вывод данных из нескольких файлов Nikc174 Элементы интерфейса 7 15.06.2018 15:54
Backbone под NodeJS: мало файлов vs много файлов armidoll Backbone.js 0 03.12.2015 21:34
Отсылка нескольких файлов одним post koeshiro AJAX и COMET 1 19.09.2014 15:08
Поиск в тексте javascript jQuery 3 31.05.2011 11:40