在递归目录上承诺mkdir

时间:2019-04-12 02:23:25

标签: node.js

我已经承诺了fs.mkdir()。当我尝试在/ tmp中创建一个目录时,它可以工作,但是即使我发送了{ recursive: true }选项,当我尝试创建嵌套目录时,也收到了ENOENT错误。

const mkdirAsync = util.promisify(fs.mkdir);
...

const ensureDir = ({ logger, createError }, event) => mkdirAsync(`/tmp/${event.mediaAssetUuid}/variants`, { recursive: true }).catch((err) => {
  if (err.code !== 'EEXIST') {
    const err2 = createError(
      err,
      { logger },
      `Internal Server Error.  Error generating image variant for file: ${event.mediaAssetUuid}`,
      null,
    );
    throw err2;
  }
});

错误:

 {
        "jse_shortmsg": "Internal Server Error.  Error generating image variant for file: 83ec01d8-8978-4eb0-9b0b-304f1e65cb14",
        "jse_cause": {
            "errno": -2,
            "code": "ENOENT",
            "syscall": "mkdir",
            "path": "/tmp/83ec01d8-8978-4eb0-9b0b-304f1e65cb14/variants"
        },

1 个答案:

答案 0 :(得分:1)

必须使用节点版本10才能使用递归选项。