Я новичок в JavaScript и Node.js. Я хочу зацикливаться через каталог и добавить все файловые данные (не другие каталоги) на массив. Как вы видите ниже, есть проблема с моим кодом, поскольку обратный вызов, вероятно, позвонится после завершения цикла For Open, поэтому используя «I» -Variable в методе обратного вызова не будет работать. Но как код должен выглядеть так, чтобы приведенный ниже фрагмент работает? У него есть что делать с закрытиями?
Спасибо за помощь!
fs.readdir(SYNCDIR, function(err1, files) {
var filesOnly = [];
if(!err1) {
for(var i = 0; i < files.length; i++) {
var imgFilePath = SYNCDIR + '/' + files[i];
fs.stat(imgFilePath, function(stat){
if (stat.isFile()){
filesOnly[i] = stat; // This will not be correct since the for-loop has finished
}
});
}
}
});