📜  Node.js fsPromises.mkdtemp() 方法

📅  最后修改于: 2022-05-13 01:56:21.376000             🧑  作者: Mango

Node.js fsPromises.mkdtemp() 方法

fsPromises.mkdtemp()方法是一个内置方法,它创建一个唯一的临时目录并使用创建的目录路径解析Promise

句法:

fs.Promises.mkdtemp( prefix, options )

参数:该方法接受两个参数,如上所述,如下所述:

  • 前缀:它是一个字符串,表示文件的路径。
  • options:它是一个字符串或一个对象。
    • encoding:它是一个字符串,默认值为utf8。

返回值:它返回代表异步操作最终完成(或失败)的Promise对象及其结果值。

示例:可以使用以下代码创建一个临时目录:

// Node.js program to demonstrate the 
// fsPromises.mkdtemp() method 
const fs = require("fs");
  
const fsPromises = fs.promises;
const prefix = "temp";
  
fsPromises.mkdtemp(prefix,{ encoding: "utf8"})
.then((folder)=>{
    console.log("Temp folder created ", folder)
})
.catch((err)=>{
    console.log(err)
});
);

输出:

Temp folder created  tempoe5zc9

通过将六个随机字符附加到提供的前缀的末尾来生成唯一的目录名称。由于平台不一致,请避免在前缀中使用尾随 X字符。一些平台,尤其是 BSD,可以返回六个以上的随机字符,并将前缀中的尾随 X字符替换为随机字符。

可选的选项参数可以是指定编码的字符串,也可以是具有指定要使用的字符编码的编码属性的对象。

fsPromises.mkdtemp(path.join(os.tmpdir(), 'foo-'))
 .catch(console.error);

fsPromises.mkdtemp() 方法会将六个随机选择的字符直接附加到前缀字符串。例如,给定一个目录 /tmp,如果打算在 /tmp 中创建一个临时目录,则前缀必须以尾随平台特定的路径分隔符 (require('path').sep) 结尾。