パスからファイルとディレクトリのすべての名前を取得し、それらをファイルとディレクトリとして認識したい。しかし、コードを実行すると、動作することもあれば、ディレクトリがファイルであることが示されることもあります。ここにコードがあります
socket.on('data',function(path){
fs.readdir('path',function(err, data) {
var filestatus=[];
var z=0;
var i=data.length-1;
data.forEach(function(file){
fs.stat(file, function(err, stats) {
filestatus[z]=stats.isDirectory()
if (z==i){
socket.emit('backinfo',{names:data,status:filestatus});
}
z++;
})
})
})
})
テスト中に、data.forEach ループを遅くすると (console.log(something) を使用して) うまく機能する (ミスが少なくなる) ことに気付きました。これは奇妙です。