Note that as of Firefox 40, IndexedDB transactions have relaxed durability guarantees to increase performance (see bug 1112702.) Previously in a readwrite
transaction IDBTransaction.oncomplete
was fired only when all data was guaranteed to have been flushed to disk. In Firefox 40+ the complete
event is fired after the OS has been told to write the data but potentially before that data has actually been flushed to disk. The complete
event may thus be delivered quicker than before, however, there exists a small chance that the entire transaction will be lost if the OS crashes or there is a loss of system power before the data is flushed to disk. Since such catastrophic events are rare most consumers should not need to concern themselves further.
Documentation IDBTransaction by Mozilla Contributors, licensed under CC-BY-SA 2.5.
See also:
Variables
read onlyerror:DOMException
Returns a DOMException
indicating the type of error that occured when there is an unsuccessful transaction. This property is null
if the transaction is not finished, is finished and successfully committed, or was aborted with IDBTransaction.abort
function.
read onlymode:TransactionMode
The mode for isolating access to data in the object stores that are in the scope of the transaction. For possible values, see the Constants section below. The default value is readonly
.
read onlyobjectStoreNames:DOMStringList
Returns a DOMStringList
of the names of IDBObjectStore
objects.
onabort:Function
The event handler for the abort
event, fired when the transaction is aborted. This can happen due to:
bad requests, e.g. trying to add() the same key twice, or put() with the same index key with a uniqueness constraint and there is no error handler on the request to call preventDefault() on the event, an explicit abort() call from script uncaught exception in request's success/error handler, an I/O error (actual failure to write to disk, e.g. disk detached, or other OS/hardware failure), or quota exceeded.
oncomplete:Function
The event handler for the complete
event, thrown when the transaction completes successfully.