IDBIndex:getAllKeys() 方法
getAllKeys()
是 IDBIndex
接口的一个方法,它异步检索索引中所有对象的键,并将它们设置为请求对象的 result
。
语法
js
getAllKeys()
getAllKeys(query)
getAllKeys(query, count)
参数
query
可选-
一个键或一个
IDBKeyRange
,用于标识要检索的键。如果此值为 null 或缺失,浏览器将使用一个无界键范围。 count
可选-
要返回的记录数。如果此值超过查询中记录的数量,浏览器将仅检索第一项。如果它小于
0
或大于2^32 - 1
,则会抛出TypeError
异常。
返回值
一个 IDBRequest
对象,后续与此操作相关的事件将在其上触发。
如果操作成功,请求的 result
属性的值将是一个 Array
,其中包含与给定查询匹配的所有记录的键,最多为 count
的值(如果提供了 count
)。
异常
此方法可能会引发以下类型的 DOMException
TransactionInactiveError
DOMException
-
如果此
IDBIndex
的事务处于非活动状态,则会抛出此异常。 InvalidStateError
DOMException
-
如果
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① |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。
另请参阅
- 使用 IndexedDB
- 启动事务:
IDBDatabase
- 使用事务:
IDBTransaction
- 设置键范围:
IDBKeyRange
- 检索和更改数据:
IDBObjectStore
- 使用游标:
IDBCursor
- 参考示例:待办事项通知 (查看示例)。