This method may raise a DOMException of one of the following types:
TransactionInactiveErrorDOMException-
Thrown if this
IDBCursor's transaction is inactive. DataErrorDOMException-
Thrown if the key parameter has any of the following conditions:
- The key is not a valid key.
- The key is less than or equal to this cursor's position, and the cursor's direction is
nextornextunique. - The key is greater than or equal to this cursor's position and this cursor's direction is
prevorprevunique.
InvalidStateErrorDOMException-
Thrown if the cursor is currently being iterated or has iterated past its end.
In this simple fragment we create a transaction, retrieve an object store, then use a
cursor to iterate through all the records in the object store. The cursor does not
require us to select the data based on a key; we can just grab all of it. Also note that
in each iteration of the loop, you can grab data from the current record under the
cursor object using cursor.value.foo. For a complete working example, see
our IDBCursor example (View the example live).
js
function displayData() {
const transaction = db.transaction(["rushAlbumList"], "readonly");
const objectStore = transaction.objectStore("rushAlbumList");
objectStore.openCursor().onsuccess = (event) => {
const cursor = event.target.result;
if (cursor) {
const listItem = document.createElement("li");
listItem.textContent = `${cursor.value.albumTitle}, ${cursor.value.year}`;
list.appendChild(listItem);
cursor.continue();
} else {
console.log("Entries all displayed.");
}
};
}