Я создаю систему в Node.js, которая должна находить все файлы в массиве папок, оценивать их, а затем выполнять дополнительную работу, используя эту информацию.
Я использую fs.readdir (), чтобы получить все файлы синхронно из каждой папки.Мой код выглядит следующим образом:
for(i=0,max=paths.length; i<max; i++) {
var path = paths.pop();
console.log("READING PATH: " + path);
fs.readdir(path, function(err, files) { handleDir(err, files, path); });
}
Проблема в том, что в зависимости от того, как быстро выполняется readdir (), handleDir () получает неправильный путь.Это происходит потому, что к тому времени, когда выполняется обратный вызов, следующий цикл уже начался - это означает, что переменная пути изменилась.
Итак, мне нужно как-то привязать эту переменную пути к ее конкретной функции обратного вызова.Я не могу придумать какой-либо хороший способ сделать это - у кого-нибудь есть идеи?