有以下代码:
function getFilesFromPathByModifiedTime(){
let file;
fs.readdir(path, (err, files) => {
file = files.map((fileName) => {
return {
name: fileName,
time: fs.statSync(path + '/' + fileName).mtime.getTime()
};
})
.sort((a, b) => { return b.time - a.time; })
.map((v) => { return v.name; });
});
console.log(file); // -> undefined
//setTimeout(() => console.log(file), 1000) // -> Object;
}
此函数读取一个目录并按修改日期对其中的所有文件进行排序。
其实问题是如何正确的把async/await放在里面,把接收到的值放到一个变量中。
该函数是异步的,下面的注释掉的代码会在 1 秒内显示所有必要的数据。
而且还有这样一个库https://www.npmjs.com/package/fs-promisify