私は、NodeJSのような非ブロッキング環境の初心者です。以下は、ディレクトリ内のすべてのファイルを一覧表示し、私の単純なコードは、次のとおりです。ユーザープレス1、それは方法LISTFILEを実行して、内部のすべてのファイルを表示するようにするとしています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);
});
}
});
}
場合。
私の質問は、fs.readdirSyncが実行されなかった理由です。私がreaddir()でそれを行うとプログラムは動作しますが、出力はユーザに混乱します。