IDBCursorSync - 表示用于同步迭代数据库中多个记录的游标
重要:IndexedDB API 的同步版本最初仅适用于 Web Workers,并最终从规范中删除,因为它的需求是值得怀疑的。但是,如果 Web 开发人员有足够的需求,它可能会在未来重新引入。
IDBCursorSync
是 IndexedDB API 的接口,表示用于迭代数据库中多个记录的游标。您只能有一个表示游标的 IDBCursorSync
实例,但您可以同时拥有无限数量的游标。操作是在底层索引或对象库上执行的。它使应用程序能够同步处理游标范围内的所有记录。
属性
count
一个 readonly unsigned long long
,表示共享当前键的对象总数。
direction
一个 readonly unsigned short
,表示遍历游标的方向。请参阅常量以获取可能的值。
key
一个 readonly any
,表示游标位置的记录的键。
value
游标位置记录的值。设置此属性可以使用以下代码引发 IDBDatabaseException
:
DATA_ERR
如果底层对象库使用 in-line keys,并且 key path 中的属性与此游标位置的键不匹配。
NOT_ALLOWED_ERR
如果底层索引或对象存储不支持更新记录,因为它是在 READ_ONLY
或 SNAPSHOT_READ
模式下打开,或者由于基础索引是自动填充而无法更改索引记录。
SERIAL_ERR
如果存储的数据无法通过内部结构化克隆算法进行序列化。
常量
NEXT
值为 0
,该游标包括重复值,其方向按键的顺序单调增加。
NEXT_NO_DUPLICATE
值为 1
,该游标不包含重复值,其方向按键的顺序单调递增。
PREV
值为 2
,该游标包括重复值,其方向按键的顺序单调递减。
PREV_NO_DUPLICATE
值为 3
,该游标不包含重复值,其方向按键的顺序单调递减。
方法
IDBCursorSync.continue()
将游标前进到其方向的下一个位置,前进到其键与可选的 key
参数匹配的项目。如果未指定任何键,则前进到下一个位置。如果游标已到达其范围的末尾,则返回 false
;否则返回 true
。
bool continue (
可选的任何键名
);
参数
key
移动游标所到位置的键名。
IDBCursorSync.remove()
删除游标位置的记录,而不更改光标的位置
void delete (
) 引发 (DatabaseException);
异常
此方法可以使用以下代码引发 IDBDatabaseException
:
NOT_ALLOWED_ERR
如果底层索引或对象存储不支持更新记录,因为它是在 READ_ONLY
或 SNAPSHOT_READ
模式下打开的。