0

Моя функция должна проверять наличе папки. Если такая есть, то по задумке должно выводиться разрешение на запись файлов в этой папке.

// Функция для проверки каталога
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
} 

0 Answers0