Моя функция должна проверять наличе папки. Если такая есть, то по задумке должно выводиться разрешение на запись файлов в этой папке.
// Функция для проверки каталога
function checkFolder(name){
fs.readdir(name, (err, files) => {
if(err) {
fs.mkdir(name, err => {
if(err) throw err; // не удалось создать папку
else sysPrint(`Папка \x1b[33m${name}\x1b[0m успешно создана.`);
});
return false;
}
else{
sysPrint(`В каталоге \x1b[33m${name}\x1b[0m находятся файлы: ${files}`);
return true;
}
});
}
if (checkFolder(`Имя папки`) === true){
// Должно быть разрешение, но его нету из-за undefined.
}
else {
// Разрешения нету.
}
Проблема в том, что я при вызове функции получаю undefined. Что только я не пробовал, но мои попытки увенчались неудачей. Если можно, то мне бы знать в чём проблема, но моё предположение, что из-за "внутренней" функции не передаётся значение. В общем мне нужна помощь. Спасибо за ранее :)
Так же я пробовал попробовать создать массив и через него получить значение, но ничего не получилось.
function checkFolder(name){
var status;
fs.readdir(name, (err, files) => {
if(err) {
fs.mkdir(name, err => {
if(err) throw err; // не удалось создать папку
else sysPrint(`Папка \x1b[33m${name}\x1b[0m успешно создана.`);
});
status.access = false;
}
else{
sysPrint(`В каталоге \x1b[33m${name}\x1b[0m находятся файлы: ${files}`);
status.access = true;
}
return status.access;
});
// undefined
}
async / await– Alexander Lonberg Apr 21 '23 at 19:44