Chỉnh sửa:
Vì nút v10.0.0
chúng ta có thể sử dụngfs.promises.access(...)
Ví dụ mã async kiểm tra nếu tệp tồn tại:
async function checkFileExists(file) {
return fs.promises.access(file, fs.constants.F_OK)
.then(() => true)
.catch(() => false)
}
Một thay thế cho stat có thể được sử dụng mới fs.access(...)
:
chức năng hứa ngắn gọn để kiểm tra:
s => new Promise(r=>fs.access(s, fs.constants.F_OK, e => r(!e)))
Sử dụng mẫu:
let checkFileExists = s => new Promise(r=>fs.access(s, fs.constants.F_OK, e => r(!e)))
checkFileExists("Some File Location")
.then(bool => console.log(´file exists: ${bool}´))
cách hứa hẹn mở rộng:
// returns a promise which resolves true if file exists:
function checkFileExists(filepath){
return new Promise((resolve, reject) => {
fs.access(filepath, fs.constants.F_OK, error => {
resolve(!error);
});
});
}
hoặc nếu bạn muốn làm điều đó một cách đồng bộ:
function checkFileExistsSync(filepath){
let flag = true;
try{
fs.accessSync(filepath, fs.constants.F_OK);
}catch(e){
flag = false;
}
return flag;
}
fs.access('file', err => err ? 'does not exist' : 'exists')
, xem fs.access