IDBCursor: source 屬性

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能在 Web Workers 中可用。

IDBCursor 介面的只讀屬性 source 返回遊標正在迭代的 IDBObjectStoreIDBIndex。此函式永遠不會返回 null 或丟擲異常,即使遊標當前正在迭代、已迭代到末尾,或者其事務不處於活動狀態。

遊標正在迭代的 IDBObjectStoreIDBIndex

示例

在這個簡單的程式碼片段中,我們建立了一個事務,檢索了一個物件儲存,然後使用遊標迭代物件儲存中的所有記錄。在每次迭代中,我們都會記錄遊標的來源,這會將我們的 IDBObjectStore 物件記錄到控制檯。

游標不需要我們根據鍵來選擇資料;我們可以直接獲取所有資料。另請注意,在迴圈的每次迭代中,你可以使用 cursor.value.foo 從游標物件下的當前記錄中獲取資料。有關完整的可工作示例,請參閱我們的 IDBCursor 示例線上檢視示例)。

js
function displayData() {
  const transaction = db.transaction(["rushAlbumList"], "readonly");
  const objectStore = transaction.objectStore("rushAlbumList");

  objectStore.openCursor().onsuccess = (event) => {
    const cursor = event.target.result;
    if (cursor) {
      const listItem = document.createElement("li");
      listItem.textContent = `${cursor.value.albumTitle}, ${cursor.value.year}`;
      list.appendChild(listItem);

      console.log(cursor.source);
      cursor.continue();
    } else {
      console.log("Entries all displayed.");
    }
  };
}

規範

規範
Indexed Database API 3.0
# ref-for-dom-idbcursor-source①

瀏覽器相容性

另見