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

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
createReader

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

参见