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() 以获取目录中的所有条目,并将每批条目连接到数组中。当它返回一个空数组时,表示所有条目都已读取,循环结束。

规范

规范
File and Directory Entries API
# dom-filesystemdirectoryentry-createreader

浏览器兼容性

另见