我正在尝试编写一个函数,该函数采用路径并返回该目录内的所有文件。
当我这样做时:
function getDirectories(path) {
fs.readdir(path, function(err, content) {
if (err) {
return err;
} else {
return content;
}
});
}
console.log(getDirectories('./XML/'));
我在控制台中得到未定义
。
但是当我这样做时:
function getDirectories(path) {
fs.readdir(path, function(err, content) {
if (err) {
return err;
} else {
console.log(content);
}
});
}
我得到了预期的数组,其中文件名作为字符串。
我做错了什么?
最佳答案
fs.readdir 是异步的,使用这个:
function getDirectories(path, callback) {
fs.readdir(path, function (err, content) {
if (err) return callback(err)
callback(null, content)
})
}
getDirectories('./XML', function (err, content) {
console.log(content)
})
关于javascript - fs.readdir 在函数内部调用时返回 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40629186/