IDBIndex: getAllKeys() 方法
IDBIndex 接口的 getAllKeys() 方法会异步检索索引中所有对象的**主键**,并将它们设置为请求对象的 result。
语法
js
getAllKeys()
getAllKeys(query)
getAllKeys(query, count)
参数
返回值
一个 IDBRequest 对象,后续与此操作相关的事件会在此对象上触发。
如果操作成功,请求的 result 属性的值将是一个 Array,其中包含所有匹配给定查询的记录的键,最多可达 count 值(如果提供了 count)。
异常
此方法可能会引发以下类型的 DOMException
TransactionInactiveErrorDOMException-
如果此
IDBIndex的事务处于非活动状态,则会抛出此异常。 InvalidStateErrorDOMException-
如果
IDBIndex已被删除或移除,则会抛出此异常。
如果 count 参数不是介于 0 和 2^32 - 1 之间(包含),则会抛出 TypeError 异常。
示例
js
const myIndex = objectStore.index("index");
const getAllKeysRequest = myIndex.getAllKeys();
getAllKeysRequest.onsuccess = () => {
console.log(getAllKeysRequest.result);
};
规范
| 规范 |
|---|
| Indexed Database API 3.0 # ref-for-dom-idbindex-getallkeys① |
浏览器兼容性
加载中…
另见
- 使用 IndexedDB
- 开始事务:
IDBDatabase - 使用事务:
IDBTransaction - 设置键的范围:
IDBKeyRange - 检索和修改数据:
IDBObjectStore - 使用游标:
IDBCursor - 参考示例:待办事项通知(查看实时示例)。