FileSystemEntry: getParent() 方法

FileSystemEntry 介面的 getParent() 方法用於獲取一個 FileSystemDirectoryEntry

語法

js
getParent(successCallback, errorCallback)
getParent(successCallback)

引數

successCallback

當父目錄項已檢索到時會呼叫的函式。該回調接收一個輸入引數:一個代表父目錄的 FileSystemDirectoryEntry 物件。根目錄的父目錄被認為是根目錄本身,因此請務必注意這一點。

errorCallback 可選

一個可選的回撥,在發生錯誤時執行。它有一個引數:一個 DOMException,描述了發生的問題。

返回值

無(undefined)。

異常

DOMException.INVALID_STATE_ERR

操作失敗,因為檔案系統的狀態不允許。例如,如果檔案系統的快取狀態與檔案系統的實際狀態不同,可能會發生這種情況。

DOMException.NOT_FOUND_ERR

找不到指定的路徑。

DOMException.SECURITY_ERR

安全限制阻止了獲取父目錄的資訊。

示例

此示例將變數 fileEntry 指定的檔案重新命名為 "newname.html"

js
fileEntry.getParent(
  (parent) => {
    fileEntry.moveTo(parent, "newname.html", (updatedEntry) => {
      console.log(`File ${fileEntry.name} renamed to newname.html.`);
    });
  },
  (error) => {
    console.error(
      `An error occurred: Unable to rename ${fileEntry.name} to newname.html.`,
    );
  },
);

這是透過首先獲取一個代表檔案當前所在目錄的 FileSystemDirectoryEntry 物件來完成的。然後使用 moveTo() 在該目錄中重新命名檔案。

使用 Promise

目前,還沒有此方法的基於 Promise 的版本。但是,您可以建立一個簡單的輔助函式來適配它,如下所示:

js
function getParentPromise(entry) {
  return new Promise((resolve, reject) => {
    entry.getParent(resolve, reject);
  });
}

在檔案和目錄條目 API 的其他地方也可以採用類似的方法。

規範

規範
File and Directory Entries API
# dom-filesystementry-getparent

瀏覽器相容性

另見