IDBDatabaseSync - 表示同步的 IndexedDB 数据库连接
重要:IndexedDB API 的同步版本最初仅用于 Web Workers 一起使用,由于其需求存在问题,最终被从规范中删除。但是,如果 Web 开发人员有足够的需求,将来可能会重新引入它。
IDBDatabaseSync
是 IndexedDB API 的接口,表示同步的 IndexedDB 数据库连接。
属性
description
readonly DOMString
可读的连接数据库描述。
name
readonly DOMString
连接的数据库的名称。
objectStores
readonly DOMStringList
连接的数据库中存在的对象存储的名称。
version
readonly DOMString
连接的数据库的版本。首次创建数据库时为 null
。
方法
createObjectStore()
在连接的数据库中创建并返回具有给定名称的新对象存储。
IDBObjectStoreSync createObjectStore(
in DOMString name,
in DOMString keypath,
in optional boolean autoIncrement
) raises (IDBDatabaseException);
参数
name
新对象库的名称。
keypath
新对象库使用的密钥路径。如果指定了空路径,则对象存储库没有键路径,而是使用脱机键。
autoIncrement
如果为 true
,则对象存储区使用键值生成器; 如果为 false
,则不使用。
返回
IDBObjectStoreSync
用于访问新创建的对象库的对象。
异常
此方法可以使用以下代码引发 IDBDatabaseException
:
CONSTRAINT_ERR
如果连接的数据库中已经存在具有相同名称(基于区分大小写的比较)的对象存储。
openObjectStore()
使用指定的模式在连接的数据库中打开具有给定名称的对象存储。
IDBObjectStoreSync openObjectStore (
in DOMString name,
in optional unsigned short mode
) raises (IDBDatabaseException);
参数
name
要打开的对象库的名称。
mode
用于访问对象库的模式。
返回
IDBObjectStoreSync
用于访问打开的对象库的对象。
异常
此方法可以使用以下代码引发 IDBDatabaseException
:
NOT_FOUND_ERR
连接数据库中是否已经存在具有给定名称(基于区分大小写的比较)的对象存储。
removeObjectStore()
销毁具有给定名称的对象库以及引用该对象库的所有索引。
void removeObjectStore (
in DOMString storeName
) raises (IDBDatabaseException);
参数
storeName
要删除的现有对象库的名称。
返回
void
异常
此方法可以使用以下代码引发 IDBDatabaseException
:
NOT_FOUND_ERR
如果给定名称的对象库(基于区分大小写的比较)在连接的数据库中不存在。
setVersion()
设置连接数据库的版本。
void setVersion (
in DOMString version
);
参数
version
要存储在数据库中的版本。
返回
void
transaction()
创建并返回一个事务,如果可能的话,在指定的超时时间内获取给定数据库对象的锁。
IDBTransactionSync transaction (
in optional DOMStringList storeNames,
in optional unsigned int timeout
) raises (IDBDatabaseException);
参数
storeNames
在新事务的范围内的对象库的名称和索引。
timeout
允许此操作获取所有对象存储区和在 storeNames
中标识的索引的锁的时间间隔。
Returns
IDBTransactionSync
用于访问新创建的事务的对象。
异常
此方法可以使用以下代码引发 IDBDatabaseException
:
TIMEOUT_ERR
如果保存 storeNames
中标识的所有数据库对象时,花费的时间将超过 timeout
间隔。