我正在尝试编写一个带路径的函数,并返回该目录中的所有文件。
当我这样做时:
function getDirectories(path) {
fs.readdir(path, function(err, content) {
if (err) {
return err;
} else {
return content;
}
});
}
console.log(getDirectories('./XML/'));
我在控制台中获得了undefined
。
但是当我这样做时:
function getDirectories(path) {
fs.readdir(path, function(err, content) {
if (err) {
return err;
} else {
console.log(content);
}
});
}
我得到了文件名为字符串的预期数组。
我做错了什么?
答案 0 :(得分:4)
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)
})
答案 1 :(得分:0)
我遇到了同样的问题,并通过使用fs.readdirSync
解决了该问题。function getDirectories(path) {
fs.readdirSync(path, function(err, content) {
if (err) {
return err;
} else {
return content;
}
});
}
应该工作