Node.js fs.promise.readdir() 方法
Node.js 的文件系统模块中定义的fs.promise.readdir()方法。文件系统模块基本上是与用户计算机的硬盘交互。 readdir() 方法用于读取文件和文件夹名称。 fs.promise.readdir() 方法返回一个已解决或被拒绝的承诺,因此避免了fs.readdir()方法中可能发生的回调嵌套或回调地狱问题。
句法
fs.promise.readdir(path, options)
参数:此方法接受上面提到的两个参数,如下所述:
- path:它是一个字符串,缓冲区或url,指定要读取其内容的目录的路径。
- options:它是一个可选参数,用于指定编码技术(default-utf8)等。
返回值:它返回一个已解决或被拒绝的承诺。如果目录被成功读取,则使用文件和文件夹的名称列表来解析承诺,否则如果发生任何错误(示例指定的目录不存在或无权读取文件等),则以错误对象拒绝。
示例 1:
// Node.js program to demonstrate the
// fs.promise.readdir() Method
// Importing File System module
const fs = require('fs')
// The process.cwd() gives current
// working directory
fs.promises.readdir(process.cwd())
// If promise resolved and
// datas are fetched
.then(filenames => {
for (let filename of filenames) {
console.log(filename)
}
})
// If promise is rejected
.catch(err => {
console.log(err)
})
输出:读取并显示当前工作目录'gfgExamples'的内容
示例 2:
// Node.js program to demonstrate the
// fs.promise.readdir() Method
// Importing File System module
const fs = require('fs')
// process.cwd() gives current
// working directory
const targetDir = process.argv[2] || process.cwd()
fs.promises.readdir(targetDir)
// If promise resolved and
// datas are fetched
.then(filenames => {
for (let filename of filenames) {
console.log(filename)
}
})
// If promise is rejected
.catch(err => {
console.log(err)
})
输出:读取一个目录的内容并将其显示回当前工作目录“gfgExamples”。
参考: https://nodejs.org/docs/latest/api/fs.html#fs_fspromises_readdir_path_options