IDBRequest: source Eigenschaft
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die source
Eigenschaft des IDBRequest
-Interfaces ist eine schreibgeschützte Eigenschaft, die die Quelle der Anfrage zurückgibt, wie z. B. einen Index oder einen Objektspeicher. Wenn keine Quelle existiert (wie beim Aufruf von IDBFactory.open
), gibt sie null
zurück.
Wert
Ein Objekt, das die Quelle der Anfrage repräsentiert, wie z. B. ein IDBIndex
,
IDBObjectStore
oder IDBCursor
.
Beispiele
Im folgenden Beispiel wird ein bestimmter Datensatztitel angefordert, onsuccess
erhält den zugehörigen Datensatz aus dem IDBObjectStore
(verfügbar gemacht als objectStoreTitleRequest.result
), aktualisiert eine Eigenschaft des Datensatzes und legt dann den aktualisierten Datensatz in einer weiteren Anfrage zurück in den Objektspeicher. Die Quelle der 2. Anfrage wird in der Entwicklerkonsole protokolliert. Für ein vollständig funktionierendes 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 source of this request
console.log(`The source of this request is ${updateTitleRequest.source}`);
// 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-source① |
Browser-Kompatibilität
BCD tables only load in the browser
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 Cursors:
IDBCursor
- Referenzbeispiel: To-do Notifications (Beispiel live ansehen).