调用函数时得到undefined

问题描述 投票:0回答: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 }
    
javascript node.js function return undefined
© www.soinside.com 2019 - 2024. All rights reserved.