Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

IDBRequest: success-Ereignis

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.

Das success-Ereignis wird ausgelöst, wenn ein IDBRequest erfolgreich abgeschlossen wird. Im Ereignishandler für success können Sie auf das Ergebnis der Anfrage zugreifen und weitere Anfragen innerhalb derselben Transaktion stellen.

Dieses Ereignis kann nicht abgebrochen werden und steigt nicht im DOM-Baum auf.

Syntax

Verwenden Sie den Ereignisnamen in addEventListener():

js
addEventListener("success", (event) => { })

Alternativ können Sie der Ereignishandler-Eigenschaft der Schnittstelle einen Wert zuweisen:

js
onsuccess = (event) => { }

Ereignistyp

Ein generisches Event.

Beispiele

Dieses Beispiel versucht, eine Datenbank zu öffnen, und überwacht das success-Ereignis mit addEventListener():

js
// Open the database
const openRequest = window.indexedDB.open("toDoList", 4);

openRequest.onupgradeneeded = (event) => {
  const db = event.target.result;

  db.onerror = () => {
    console.log("Error creating database");
  };

  // Create an objectStore for this database
  const objectStore = db.createObjectStore("toDoList", {
    keyPath: "taskTitle",
  });

  // define what data items the objectStore will contain
  objectStore.createIndex("hours", "hours", { unique: false });
  objectStore.createIndex("minutes", "minutes", { unique: false });
  objectStore.createIndex("day", "day", { unique: false });
  objectStore.createIndex("month", "month", { unique: false });
  objectStore.createIndex("year", "year", { unique: false });
};

openRequest.addEventListener("success", (event) => {
  console.log("Database opened successfully!");
});

Dasselbe Beispiel, jedoch mit der Ereignishandler-Eigenschaft onsuccess. Beachten Sie, dass dadurch gegebenenfalls andere Ereignis-Listener ersetzt werden, die über onsuccess hinzugefügt wurden:

js
// Open the database
const openRequest = window.indexedDB.open("toDoList", 4);

openRequest.onupgradeneeded = (event) => {
  const db = event.target.result;

  db.onerror = () => {
    console.log("Error creating database");
  };

  // Create an objectStore for this database
  const objectStore = db.createObjectStore("toDoList", {
    keyPath: "taskTitle",
  });

  // define what data items the objectStore will contain
  objectStore.createIndex("hours", "hours", { unique: false });
  objectStore.createIndex("minutes", "minutes", { unique: false });
  objectStore.createIndex("day", "day", { unique: false });
  objectStore.createIndex("month", "month", { unique: false });
  objectStore.createIndex("year", "year", { unique: false });
};

openRequest.onsuccess = (event) => {
  console.log("Database opened successfully!");
};

Spezifikationen

Spezifikation
Indexed Database API 3.0
# eventdef-idbrequest-success

Browser-Kompatibilität

Siehe auch