IDBRequest: result-Eigenschaft
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die schreibgeschützte result-Eigenschaft des IDBRequest-Interfaces gibt das Ergebnis der Anfrage zurück.
Der Wert hängt von der gestellten Anfrage ab. Zum Beispiel füllen die Methoden IDBObjectStore.getAllRecords() und IDBIndex.getAllRecords() diese Eigenschaft bei erfolgreicher Ausführung der Anfrage mit einem Array von IDBRecord-Instanzen.
Wert
any.
Ausnahmen
InvalidStateErrorDOMException-
Wird ausgelöst, wenn versucht wird, auf die Eigenschaft zuzugreifen, während die Anfrage nicht abgeschlossen ist und daher das Ergebnis nicht verfügbar ist.
Beispiele
>Grundlegende Verwendung
Im folgenden Beispiel wird ein bestimmter Datensatztitel angefordert. Bei Erfolg wird der zugehörige Datensatz aus dem IDBObjectStore abgerufen (verfügbar als objectStoreTitleRequest.result), eine Eigenschaft des Datensatzes wird aktualisiert und dann wird der aktualisierte Datensatz zurück in den Objekt-Store gelegt.
Ein vollständig arbeitendes Beispiel finden Sie in unserer To-do Notifications-App (Beispiel live ansehen).
const title = "Walk dog";
// Open up a transaction as usual
const objectStore = db
.transaction(["toDoList"], "readwrite")
.objectStore("toDoList");
// Get the to-do list object that has this title as its title
const objectStoreTitleRequest = objectStore.get(title);
objectStoreTitleRequest.addEventListener("success", () => {
// Grab the data object returned as the result
const data = objectStoreTitleRequest.result;
// Update the notified value in the object to "yes"
data.notified = "yes";
// Create another request that inserts the item
// back into the database
const updateTitleRequest = objectStore.put(data);
// When this new request succeeds, run the displayData()
// function again to update the display
updateTitleRequest.addEventListener("success", () => {
displayData();
});
});
Spezifikationen
| Spezifikation |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbrequest-result①> |
Browser-Kompatibilität
Siehe auch
- Verwendung von IndexedDB
- Starten von Transaktionen:
IDBDatabase - Verwendung von Transaktionen:
IDBTransaction - Festlegen eines Schlüsselbereichs:
IDBKeyRange - Abrufen und Ändern Ihrer Daten:
IDBObjectStore - Verwendung von Cursoren:
IDBCursor - Referenzbeispiel: To-do Notifications (Beispiel live ansehen).