Cのすべてのフォルダのツリーを表示しようとしていますが、cのファイルやフォルダの中には管理者権限が必要なものもあり、fs.statはこれによりエラーを投げます。私は何とか最初にfs.accessで権利をチェックし、fs.statを続けるために管理者権限が必要ないかどうか確認したいと思います。私のすべてのファイルとフォルダは配列の中にあり、私はそれを反復処理しています。しかし、悲しいことに私はコールバックを働かせてそれを手に入れません。誰かがこれで私を助けることができますか?すべての小さな助けに感謝します。fs.statの前にfs.accessを呼び出す
fs.readdir(seeDir, function (err, files) {
if (err) {
throw err;
};
var fileName = '';
var path = '';
var statCallback;
for (var i = 0; i < files.length; i++) {
fileName = files[i];
path = util.format('%s%s', seeDir, fileName);
var isLast = (i === (files.length - 1));
fs.access(path, fs.F_OK | fs.R_OK, function(err) {
if (err) {
console.log(err);
} else {
fs.stat(path, function (err, stats) {
console.log(path);
if (err) {
throw err;
};
if (stats.isDirectory()) {
res.write(util.format(formatDirectory, path, fileName));
}
if (isLast) {
res.end(stringFooter);
}
});
}
});
}
});
あなたはそれがh上に構築するものがないときは何かを提案するためにARD ...問題のコードを投稿することを検討してください。 – andlrc