美文网首页
fs.opendir的使用案例

fs.opendir的使用案例

作者: 静昕妈妈芦培培 | 来源:发表于2021-02-20 15:15 被阅读0次

例1:fs.opendir的使用

const fs = require('fs')

//打开当前目录
fs.opendir('./',async (err, dir) => {
    if(err) {
        console.error(err)
        return
    }
    console.log(dir)
    console.log(typeof dir)

    //for await...of 语句创建一个循环,该循环遍历异步可迭代对象以及同步可迭代对象,
    // 包括: 内置的 String, Array,类似数组对象 (例如 arguments 或 NodeList),TypedArray, Map, Set 和用户定义的异步/同步迭代器。
    // 类似于 await 运算符一样,该语句只能在一个async function 内部使用。

    for await (const dirent of dir) {//dir是一个异步可迭代对象
        console.log(dirent)
    }
})

执行结果:


image.png

例2:fs.opendirSync的使用

const fs = require('fs')

//打开当前目录 返回异步可迭代对象dir
const dir = fs.opendirSync('./')
console.log(dir)

//输出当前目录下的文件
async function print() {
    for await (const dirent of dir) {
        console.log(dirent)
    }
}
print()

执行结果:

image.png

例3:fs.promises.opendir的使用

const fs = require('fs')

async function print(path) {
    //打开当前目录 返回异步可迭代对象dir
    const dir = await fs.promises.opendir(path);
    console.dir(dir)

    //打印path目录下的文件
    for await (const dirent of dir) {
        console.log(dirent);
    }
}
print('./').catch(err => console.error(err));

执行结果:


image.png

相关文章

网友评论

      本文标题:fs.opendir的使用案例

      本文链接:https://www.haomeiwen.com/subject/rdbtfltx.html