此代码有效,但我不知道它是否看起来不错以及 ramda.js 是否正确使用。它看起来实用且可读吗?
我也用 Q 表示承诺。
readDir 读取目录下的所有文件,包括统计信息,这个函数也用在其他地方
你怎么看?
function readDir(p) {
return R.pipeP(
function() {
return fs.readdir(p);
},
R.map(function(file) {
return fs.stat(path.join(p, file))
.then(function(stats) {
return {
file: file,
stats: stats,
fullfilename: path.join(p, file)
};
})
.fail(function(err){
log.error(err);
});
}), Q.all
);
}
//delete last, filter using statistics
function deleteFilesExceptOne(folder) {
return R.pipeP(
function() {
return readDir(folder)();
},
R.filter(function(fl) {
return (fl.stats.isFile() && timespan.fromDates(fl.stats.mtime, new Date()).totalSeconds() > 120);
}),
R.tail,
R.map(function(fl) {
return fs.unlink(fl.fullfilename);
}),
Q.all
);
}
非常感谢。