IDBCursorWithValue

Baseline 已廣泛支援

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

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

IDBCursorWithValue 介面是 IndexedDB API 的一部分,用於表示用於遍歷或迭代資料庫中多個記錄的 遊標。它與 IDBCursor 相同,只是增加了一個 value 屬性。

遊標有一個源,指示它正在迭代哪個索引或物件儲存。它在範圍內的位置,並以記錄鍵遞增或遞減的方向移動。遊標允許應用程式非同步處理遊標範圍內的所有記錄。

您可以同時擁有無限數量的遊標。對於給定的遊標,您始終獲得相同的 IDBCursorWithValue 物件。操作是在底層索引或物件儲存上執行的。

IDBCursor IDBCursorWithValue

例項方法

繼承自其父介面 IDBCursor 的方法。

例項屬性

繼承自其父介面 IDBCursor 的屬性。

IDBCursorWithValue.value 只讀

返回當前遊標的值。

示例

在此示例中,我們建立一個事務,檢索一個物件儲存,然後使用遊標遍歷物件儲存中的所有記錄。遊標不需要我們根據鍵來選擇資料;我們可以獲取所有資料。另請注意,在迴圈的每次迭代中,您都可以使用 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);

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

規範

規範
Indexed Database API 3.0
# idbcursorwithvalue

瀏覽器相容性

另見