IDBTransactionSync - 为数据库提供同步的事务

重要:IndexedDB API 的同步版本最初仅用于 Web Workers 一起使用,由于其需求存在问题,最终被从规范中删除。但是,如果 Web 开发人员有足够的需求,将来可能会重新引入它。

IDBTransactionSyncIndexedDB 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

如果请求的对象存储不在此事务的范围内。