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 参数不在 02^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 的浏览器中加载。

另请参阅