IDBRequest: source 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 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).

js
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