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

Einer der folgenden Strings:

pending

Wird zurückgegeben, wenn die Anfrage noch läuft.

done

Wird zurückgegeben, wenn die Anfrage bereits abgeschlossen ist.

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).

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 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