IDBCursorWithValue - 包含 value 属性的 IDBCursor
IDBCursorWithValue
是 IndexedDB API 的接口,表示用于遍历或迭代数据库中的多个记录的游标。它与 IDBCursor
相同,只是它包含 value
属性。
游标有一个源,指示它正在迭代的索引或对象存储。它具有该范围内的位置,并且按照记录键的顺序增加或减少的方向移动。游标使应用程序能够异步处理游标范围内的所有记录。
您可以同时拥有无限数量的游标。您总是得到表示给定游标的相同 IDBCursorWithValue
对象。操作是在底层索引或对象库上执行的。
注意: 此特性在 Web Worker 中可用。
方法
从其父接口 IDBCursor
继承了方法。
属性
从其父接口 IDBCursor
继承了属性。
IDBCursorWithValue.value
只读
返回当前游标的值。
实例
在此实例中,我们创建了一个事务,检索一个对象存储,然后使用游标迭代对象存储中的所有记录。游标不需要我们根据键选择数据;我们可以获取所有的数据。另请注意,在循环的每次迭代中,您都可以使用 cursor.value.foo
从游标对象下的当前记录中获取数据。有关完整的工作示例,请参阅我们的 IDBCursor 实例(查看在线实例 。)
function displayData() {
var transaction = db.transaction(['rushAlbumList'], "readonly");
var objectStore = transaction.objectStore('rushAlbumList');
objectStore.openCursor().onsuccess = function(event) {
var cursor = event.target.result;
if(cursor) {
var listItem = document.createElement('li');
listItem.innerHTML = cursor.value.albumTitle + ', ' + cursor.value.year;
list.appendChild(listItem);
cursor.continue();
} else {
console.log('所有条目都显示出来了。');
}
};
};
规范
规范 | 状态 | 备注 |
---|---|---|
Indexed Database API IDBCursorWithValue 的定义 |
推荐 | - |
Indexed Database API 2.0 IDBCursorWithValue 的定义 |
编者的草案 | - |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 24 23 — 57 webkit | 支持 | 16 10 — 16 moz | 101 | 15 | 7 |
在 worker 中可用 | 支持 | 支持 | 42 | 未知 | 支持 | 未知 |
value | 24 23 — 24 webkit | 12 | 16 10 — 16 moz | 101 | 15 | 7 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 24 23 — 57 webkit | 24 23 — 57 webkit | 支持 | 22 | 未知 | 22 | 8 |
在 worker 中可用 | 支持 | 支持 | 支持 | 42 | 未知 | 支持 | 未知 |
value | 支持 | 支持 | 支持 | 22 | 未知 | 22 | 8 |
1. 部分的
相关链接
- 使用 IndexedDB
- 启动事务:
IDBDatabase
- 使用事务:
IDBTransaction
- 设置一系列键:
IDBKeyRange
- 检索并更改数据:
IDBObjectStore
- 使用游标:
IDBCursor
- 参考实例:To-do 通知 (在线查看实例。)