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():
addEventListener("success", (event) => { })
Alternativ können Sie der Ereignishandler-Eigenschaft der Schnittstelle einen Wert zuweisen:
onsuccess = (event) => { }
Ereignistyp
Ein generisches Event.
Beispiele
Dieses Beispiel versucht, eine Datenbank zu öffnen, und überwacht das success-Ereignis mit addEventListener():
// 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:
// 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> |