Transactions
All the interactions that read from or write to an object store must be performed within the context of a transaction are a mechanism that ensures data consistency. If any part of a transaction fails, all the actions that occurred during the transaction are reverted.
You can request a transaction from the database as follows:
let transaction = db.transaction(["store", ...], mode);
The first parameter to transact is the list of stores that you are going to use in the transaction
. You have to specify these in advance to actually query or modify the data within.
The second parameter is optional. It specifies whether or not the transaction is simply reading data (readonly
) or if the transaction needs to write data (readwrite
). There is also a versionchange
mode that you can use to make changes to store
schemas, but you should only do this kind of operation during a database upgrade. If this parameter isn't supplied, readonly
will be assumed.
A transaction will generate events, so you...