无法从内部函数返回dat [0]值

let ite = fs.readdir(directoryPath, function (err, files) {
  if (err) {
    return console.log('Unable to scan directory: ' + err);
  }
  dat = files.filter(item => item[1] == files.length);
  return dat[0];
});

最佳答案

您将从操作完成时将调用的函数返回。因此,从该函数返回不会更改变量的值。

您可以使用readdirSync

const res = fs.readdirSync(directoryPath);


如果您不希望它同步,则可以将fs.promises与async await一起使用

let res;
(async function() {
   res = await fs.promises.readdir("");
})();

09-17 21:09