IDBCursor: continue() Methode
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die continue()
Methode des IDBCursor
Interfaces bewegt den Cursor zur nächsten Position in seiner Richtung, zu dem Element,
dessen Schlüssel mit dem optionalen Schlüsselparameter übereinstimmt. Wenn kein Schlüssel angegeben ist, bewegt sich der Cursor zur direkt nächstliegenden Position, basierend auf seiner Richtung.
Syntax
continue()
continue(key)
Parameter
key
Optional-
Der Schlüssel, bei dem der Cursor positioniert wird.
Rückgabewert
Keiner (undefined
).
Ausnahmen
Diese Methode kann eine DOMException
der folgenden Typen auslösen:
TransactionInactiveError
DOMException
-
Wird ausgelöst, wenn die Transaktion des IDBCursors inaktiv ist.
DataError
DOMException
-
Wird ausgelöst, wenn der Schlüsselparameter eine der folgenden Bedingungen erfüllt:
- Der Schlüssel ist kein gültiger Schlüssel.
- Der Schlüssel ist kleiner oder gleich der Position des Cursors, und die Richtung des Cursors ist
next
odernextunique
. - Der Schlüssel ist größer oder gleich der Position des Cursors und die Richtung des Cursors ist
prev
oderprevunique
.
InvalidStateError
DOMException
-
Wird ausgelöst, wenn der Cursor derzeit iteriert wird oder sein Ende überschritten hat.
Beispiele
In diesem einfachen Beispiel erstellen wir eine Transaktion, rufen einen Objekt-Store ab und verwenden dann einen Cursor, um durch alle Datensätze im Objekt-Store zu iterieren. Der Cursor erfordert nicht, dass wir die Daten basierend auf einem Schlüssel auswählen; wir können einfach alle erfassen. Beachten Sie auch, dass Sie in jeder Iteration der Schleife Daten aus dem aktuellen Datensatz unter dem Cursor-Objekt mit cursor.value.foo
abrufen können. Für ein vollständiges funktionierendes Beispiel siehe unser IDBCursor Beispiel (Sehen Sie sich das Beispiel live an).
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.");
}
};
}
Spezifikationen
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbcursor-continue① |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Verwendung von IndexedDB
- Transaktionen starten:
IDBDatabase
- Verwendung von Transaktionen:
IDBTransaction
- Einstellen eines Bereichs von Schlüsseln:
IDBKeyRange
- Abrufen und Ändern Ihrer Daten:
IDBObjectStore
- Verwendung von Cursors:
IDBCursor
- Referenzbeispiel: To-do Notifications (Sehen Sie sich das Beispiel live an).