Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

IDBTransaction: abort event

BaselineWidely available

Theabort event is fired when anIndexedDB transaction is aborted.

This can happen for any of the following reasons:

  • Bad requests, (E.g., trying to add the same key twice, or put the same index key when the key has a uniqueness constraint).
  • An explicitabort() call.
  • An uncaught exception in the request's success/error handler.
  • An I/O error (an actual failure to write to disk, for example disk detached, or other OS/hardware failure).
  • Quota exceeded.

This non-cancelable eventbubbles to the associatedIDBDatabase object.

Syntax

Use the event name in methods likeaddEventListener(), or set an event handler property.

js
addEventListener("abort", (event) => { })onabort = (event) => { }

Event type

A genericEvent.

Bubbling

This event bubbles toIDBDatabase. Theevent.target property refers to theIDBTransaction object that bubbles up.

For more information, seeEvent bubbling.

Examples

This example opens a database (creating the database if it does not exist), then opens a transaction, adds a listener to theabort event, then aborts the transaction to trigger the event.

js
// Open the databaseconst DBOpenRequest = window.indexedDB.open("toDoList", 4);DBOpenRequest.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 });};DBOpenRequest.onsuccess = (event) => {  const db = DBOpenRequest.result;  // open a read/write db transaction, ready for adding the data  const transaction = db.transaction(["toDoList"], "readwrite");  // add a listener for `abort`  transaction.addEventListener("abort", () => {    console.log("Transaction was aborted");  });  // abort the transaction  transaction.abort();};

The same example, but assigning the event handler to theonabort property:

js
// Open the databaseconst DBOpenRequest = window.indexedDB.open("toDoList", 4);DBOpenRequest.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 });};DBOpenRequest.onsuccess = (event) => {  const db = DBOpenRequest.result;  // open a read/write db transaction, ready for adding the data  const transaction = db.transaction(["toDoList"], "readwrite");  // add a listener for `abort`  transaction.onabort = (event) => {    console.log("Transaction was aborted");  };  // abort the transaction  transaction.abort();};

Specifications

Specification
Indexed Database API 3.0
# eventdef-idbtransaction-abort

Browser compatibility

See also

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp