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

瀏覽器相容性

另見