IDBTransactionSync - 为数据库提供同步的事务
重要:IndexedDB API 的同步版本最初仅用于 Web Workers 一起使用,由于其需求存在问题,最终被从规范中删除。但是,如果 Web 开发人员有足够的需求,将来可能会重新引入它。
IDBTransactionSync
是 IndexedDB API 的接口,为数据库提供了同步的事务。当应用程序创建 IDBTransactionSync
对象时,它将阻塞,直到浏览器能够保留必需的数据库对象为止。
当应用程序创建 IDBTransactionSync 对象时,它将阻塞,直到浏览器能够保存必需的数据库对象为止。
属性
db
IDBDatabaseSync
与此事务关联的数据库连接。
static
boolean
如果为 true
,则此事务为静态;如果为 false
,则此事务为动态。
方法
abort()
调用此方法表示需要取消此事务执行的操作的效果。调用此方法时,浏览器将忽略自创建此事务以来对该数据库对象执行的所有更改。
void abort(
) raises (IDBDatabaseException);
异常
此方法可以使用以下代码引发 IDBDatabaseException
:
NON_TRANSIENT_ERR
如果此事务已经被提交或中止。
commit()
调用此方法以表明事务已正常且令人满意地完成。调用此方法时,浏览器会持久存储自创建此事务以来对数据库对象执行的所有更改。
void commit(
) raises (IDBDatabaseException);
异常
此方法可以使用以下代码引发 IDBDatabaseException
:
NON_TRANSIENT_ERR
如果此事务已经被提交或中止。
RECOVERABLE_ERR
如果此事务的作用域是动态的,并且浏览器由于其他事务而无法提交所有更改。
objectStore()
返回已添加到此事务范围中的对象库。
IDBObjectStoreSync objectStore(
in DOMString name
) raises (IDBDatabaseException);
参数
name
请求的对象库的名称。
返回
IDBObjectStoreSync
用于访问请求的对象库的对象。
异常
该方法可以使用以下代码引发 IDBDatabaseException
:
NOT_FOUND_ERR
如果请求的对象存储不在此事务的范围内。