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 间隔。