IDBCursor: source 属性
注意:此功能在 Web Workers 中可用。
IDBCursor 接口的只读属性 source 返回游标正在迭代的 IDBObjectStore 或 IDBIndex。此函数永远不会返回 null 或抛出异常,即使游标当前正在迭代、已迭代到末尾,或者其事务不处于活动状态。
值
游标正在迭代的 IDBObjectStore 或 IDBIndex。
示例
在这个简单的代码片段中,我们创建了一个事务,检索了一个对象存储,然后使用游标迭代对象存储中的所有记录。在每次迭代中,我们都会记录游标的来源,这会将我们的 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① |
浏览器兼容性
加载中…
另见
- 使用 IndexedDB
- 开始事务:
IDBDatabase - 使用事务:
IDBTransaction - 设置键的范围:
IDBKeyRange - 检索和修改数据:
IDBObjectStore - 使用游标:
IDBCursor - 参考示例:待办事项通知(查看实时示例)。