我使用fs.stat来检查文件夹是否存在:
fs.stat('path-to-my-folder', function(err, stat) {
if(err) {
console.log('does not exist');
}
else{
console.log('does exist');
}
});
有没有办法仅使用一种方法检查多个路径的存在?
答案 0 :(得分:2)
fs
没有开箱即用的功能,但您可以创建一个功能来执行此操作。
function checkIfAllExist (paths) {
return Promise.all(
paths.map(function (path) {
return new Promise(function (resolve, reject) {
fs.stat(path, function (err, stat) {
err && reject(path) || resolve()
});
});
}))
);
};
您可以这样使用:
checkIfAllExist([path1, path2, path3])
.then(() => console.log('all exist'))
.catch((path) => console.log(path + ' does not exist')
你可以在不同的点上调整它以使其失败,但是你会得到一般的想法。
答案 1 :(得分:1)
不,文件系统API没有检查是否存在多个文件夹的功能。您只需多次调用fs.stat()
函数。