fs.stat EACCESS cvfs

时间:2018-07-19 09:53:10

标签: node.js typescript fs file-access

我有类似这段代码:

const access = (filePath: string) => new Promise((resolve) => {
  try {
    fs.access(filePath, (err) => resolve(err ? {access: false, error: err} : {access: true}));
  } catch (err) {
    resolve({access: false, error: err});
  }
});
const stats = (filePath: string) => new Promise((resolve, reject) => {
  fs.stat(filePath, (err, stats) => err ? reject(err) : resolve(stats));
});

然后我在异步“ main”函数中使用它们,例如:

try {
  if ((await access(fPath)).access === true) {
    const fileStats = await stats(fPath);
    ...
  }
} catch (err) {
  console.log(err.message);
}

它在Mac和Linux服务器上按预期工作。但是,同一台Linux服务器具有使用CVFS的共享挂载卷,并且当用户仅上载自己具有R / W权限的文件时,不会捕获EACCESS错误并使该过程崩溃。

我也曾尝试使用.then.catch来编写它,如果有帮助的话,我也遇到了同样的问题。 有没有人经历过类似的事情? 谢谢!

0 个答案:

没有答案
相关问题