当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js fsPromises.access(path[, mode])用法及代码示例


fsPromises.access(path[, mode])

添加于:v10.0.0

参数

测试用户对 path 指定的文件或目录的权限。 mode 参数是一个可选整数,用于指定要执行的可访问性检查。 mode 应该是值 fs.constants.F_OK 或由 fs.constants.R_OKfs.constants.W_OKfs.constants.X_OK 中的任何一个的按位或组成的掩码(例如 fs.constants.W_OK | fs.constants.R_OK )。检查 File access constants 以获取 mode 的可能值。

如果可访问性检查成功,则 Promise 被解析,没有任何值。如果任何可访问性检查失败,则使用 <Error> 对象拒绝承诺。以下示例检查文件/etc/passwd 是否可以被当前进程读写。

import { access } from 'node:fs/promises';
import { constants } from 'node:fs';

try {
  await access('/etc/passwd', constants.R_OK | constants.W_OK);
  console.log('can access');
} catch {
  console.error('cannot access');
}

不建议在调用 fsPromises.open() 之前使用 fsPromises.access() 检查文件的可访问性。这样做会引入竞争条件,因为其他进程可能会在两次调用之间更改文件的状态。相反,用户代码应该直接打开/读取/写入文件并处理文件不可访问时引发的错误。

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 fsPromises.access(path[, mode])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。