IDBCursorWithValue

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

IDBCursorWithValueIndexedDB 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
# ref-for-idbcursorwithvalue②

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅