IDBCursor: Methode continue()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die continue()-Methode der IDBCursor-Schnittstelle 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ächsten Position basierend auf seiner Richtung.
Syntax
continue()
continue(key)
Parameter
keyOptional-
Der Schlüssel, um den Cursor zu positionieren.
Rückgabewert
Keiner (undefined).
Ausnahmen
Diese Methode kann eine DOMException mit einem der folgenden Typen auslösen:
TransactionInactiveErrorDOMException-
Wird geworfen, wenn die Transaktion dieses
IDBCursorinaktiv ist. DataErrorDOMException-
Wird geworfen, 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 dieses Cursors, und die Richtung des Cursors ist
nextodernextunique. - Der Schlüssel ist größer oder gleich der Position dieses Cursors und die Richtung des Cursors ist
prevoderprevunique.
InvalidStateErrorDOMException-
Wird geworfen, wenn der Cursor derzeit iteriert wird oder über sein Ende hinaus iteriert hat.
Beispiele
In diesem einfachen Fragment erstellen wir eine Transaktion, rufen einen Objektspeicher ab und verwenden dann einen Cursor, um alle Datensätze im Objektspeicher zu durchlaufen. Der Cursor erfordert nicht, dass wir die Daten basierend auf einem Schlüssel auswählen; wir können einfach alle aufnehmen. 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 Arbeitsbeispiel siehe unser IDBCursor-Beispiel (Beispiel live ansehen).
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
Loading…
Siehe auch
- Verwendung von IndexedDB
- Transaktionen starten:
IDBDatabase - Verwendung von Transaktionen:
IDBTransaction - Festlegen eines Schlüsselbereichs:
IDBKeyRange - Abrufen und Ändern Ihrer Daten:
IDBObjectStore - Verwendung von Cursoren:
IDBCursor - Referenzbeispiel: To-do-Benachrichtigungen (Beispiel live ansehen).