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

规范

Specification
File and Directory Entries API
# dom-filesystemdirectoryentry-createreader

浏览器兼容性

BCD tables only load in the browser

参见