📅  最后修改于: 2023-12-03 15:08:43.585000             🧑  作者: Mango
在 Node.js 中,fs
模块提供了一组用于文件操作的 API。其中,fs.mkdir()
方法用于创建目录。该方法基于回调实现,如果需要使用 Promise 来操作该方法,可以采用封装的方式。
以下是一个封装了 fs.mkdir()
方法的函数,在该函数的基础上,通过 Promise 的方式来实现:
const fs = require('fs');
function mkdirAsync(path) {
return new Promise((resolve, reject) => {
fs.mkdir(path, (err) => {
if (err) {
reject(err);
} else {
resolve();
}
});
});
}
上述代码中,mkdirAsync()
函数接收一个 path
参数,表示需要创建的目录的路径。该函数返回一个 Promise 对象。在函数内部,通过 fs.mkdir()
方法来创建目录,如果创建成功,则调用 resolve()
方法,否则调用 reject()
方法,返回错误信息。
使用该函数来创建目录的示例代码如下:
mkdirAsync('./test')
.then(() => {
console.log('Directory created successfully');
})
.catch((err) => {
console.error(`Failed to create directory: ${err}`);
});
注意,在使用 Promise 来操作 fs.mkdir()
方法时,需要使用 catch()
方法来捕获错误。如果出现错误,则会在 catch()
代码块中进行处理。
以上就是如何在 Node.js 中使用 Promise 操作基于回调的 fs.mkdir()
方法的介绍。通过封装,可以很方便地使用 Promise 来操作 fs
模块的其他方法。