0
我是非阻塞环境(如NodeJS)的初学者。下面是我的一些简单的代码,其中列出目录中的所有文件:NodeJS readdirSync()未执行
var readline = require('readline');
var rl = readline.createInterface(process.stdin, process.stdout);
var fs = require('fs');
var datafolder = './datafolder';
var datafoldername = 'datafolder';
rl.setPrompt('Option> ');
rl.prompt();
rl.on('line', function(line) {
if (line === "right") rl.close();
if (line == '1') {
listFile();
}
rl.prompt();
}).on('close', function() {
process.exit(0);
});
function listFile() {
console.log(`File(s) on ${datafolder}`);
fs.readdirSync(datafolder, (err, files) => {
if (err) {
console.log(err);
} else {
files.forEach(filename => {
console.log(filename);
});
}
});
}
如果用户请按1,它是假设执行方法ListFile中,并显示的所有文件。
我的问题是,为什么fs.readdirSync不执行?如果我使用readdir()来执行该程序,该程序将工作,但会将输出混淆为用户。