IDBRequest: readyState-Eigenschaft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die readyState
-Eigenschaft des schreibgeschützten
IDBRequest
-Interfaces gibt den Status der Anfrage zurück.
Jede Anfrage beginnt im pending
-Status. Der Status ändert sich zu
done
, wenn die Anfrage erfolgreich abgeschlossen ist oder ein Fehler
auftritt.
Wert
Beispiele
Im folgenden Beispiel wird ein bestimmter Titel eines Datensatzes angefordert. onsuccess
ruft den
zugehörigen Datensatz aus dem IDBObjectStore
ab (verfügbar gemacht
als objectStoreTitleRequest.result
), aktualisiert
eine Eigenschaft des Datensatzes und speichert den aktualisierten Datensatz dann in einer weiteren Anfrage zurück in den Object Store. Der readyState
der zweiten Anfrage wird in der Entwicklerkonsole protokolliert. Für ein vollständiges Beispiel siehe unsere
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.onsuccess = () => {
// 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);
// Log the readyState of this request
console.log(
`The readyState of this request is ${updateTitleRequest.readyState}`,
);
// When this new request succeeds, run the displayData()
// function again to update the display
updateTitleRequest.onsuccess = () => {
displayData();
};
};
Spezifikationen
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbrequest-readystate① |
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 von Daten:
IDBObjectStore
- Verwendung von Cursoren:
IDBCursor
- Referenzbeispiel: To-do Notifications (Beispiel live ansehen).