在读取完所有文件后,将最后一个console.log设为---- print。
fs.readdir(inputFolder, function(err, list) {
list.forEach(function(file){
console.log('# ' + file + ' --> ' + folder);
});
});
console.log('--------------------------------------------------------');
答案 0 :(得分:0)
forEach
执行同步操作,fs.readdir
是异步的,因此console.log('--------------------------------------------------------');
将在fs.readdir
之后立即执行。
要在list
的所有迭代后打印它,请在list.forEach
之后将日志语句放在fs.readdir
之后
答案 1 :(得分:0)
fs.readdir(inputFolder, function(err, list) {
list.forEach(function(file){
console.log('# ' + file + ' --> ' + folder);
});
console.log('-------------------------------------------------------- ');
});
fs.readdir
是异步的。这意味着,即使readdir未完成,该调用后的代码仍将继续运行
您可以使用readdirSync同步运行它,但如果还有其他解决方案,这将是一个糟糕的选择。你总是希望在js中使用异步,因为这是使js快速运行的原因,因为没有什么能阻止代码的执行
在每个文件打印完成后将行放在readdir回调中,将解决您的问题。