FileSystemDirectoryEntry:createReader() 方法

FileSystemDirectoryEntry 接口的 createReader() 方法返回一个 FileSystemDirectoryReader 对象,该对象可用于读取目录中的条目。

语法

js
createReader()

参数

无。

返回值

一个 FileSystemDirectoryReader 对象,可用于读取目录的条目。

示例

此示例创建一个名为 readDirectory() 的异步函数,该函数获取指定 FileSystemDirectoryEntry 中的所有条目,并将它们返回到一个数组中。

js
async function readDirectory(directory) {
  const dirReader = directory.createReader();
  const entries = [];

  while (true) {
    const results = await new Promise((resolve, reject) => {
      dirReader.readEntries(resolve, reject);
    });

    if (!results.length) {
      break;
    }

    for (const entry of results) {
      entries.push(entry);
    }
  }

  return entries;
}

这是通过重复调用 readEntries() 来获取目录中的所有条目,并将每个批次连接到数组来实现的。当它返回一个空数组时,表示所有条目都已读取,循环结束。

规范

规范
文件和目录条目 API
# dom-filesystemdirectoryentry-createreader

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅