From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/ja/web/api/idbrequest/index.html | 134 +++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 files/ja/web/api/idbrequest/index.html (limited to 'files/ja/web/api/idbrequest/index.html') diff --git a/files/ja/web/api/idbrequest/index.html b/files/ja/web/api/idbrequest/index.html new file mode 100644 index 0000000000..f4cab5a01b --- /dev/null +++ b/files/ja/web/api/idbrequest/index.html @@ -0,0 +1,134 @@ +--- +title: IDBRequest +slug: Web/API/IDBRequest +tags: + - API + - Database + - IDBRequest + - IndexedDB + - Interface + - NeedsTranslation + - Reference + - Storage + - TopicStub +translation_of: Web/API/IDBRequest +--- +

{{APIRef("IndexedDB")}}

+ +
+

The IDBRequest interface of the IndexedDB API provides access to results of asynchronous requests to databases and database objects using event handler attributes. Each reading and writing operation on a database is done using a request.

+
+ +

The request object does not initially contain any information about the result of the operation, but once information becomes available, an event is fired on the request, and the information becomes available through the properties of the IDBRequest instance.

+ +

All asynchronous operations immediately return an {{domxref("IDBRequest")}} instance. Each request has a readyState that is set to the 'pending' state; this changes to 'done' when the request is completed or fails. When the state is set to done, every request returns a result and an error, and an event is fired on the request. When the state is still pending, any attempt to access the result or error raises an InvalidStateError exception.

+ +

In plain words, all asynchronous methods return a request object. If the request has been completed successfully, the result is made available through the result property and an event indicating success is fired at the request ({{domxref("IDBRequest.onsuccess")}}). If an error occurs while performing the operation, the exception is made available through the result property and an error event is fired ({{domxref("IDBRequest.onerror")}}).

+ +

The interface {{domxref("IDBOpenDBRequest")}} is derived from IDBRequest.

+ +

{{AvailableInWorkers}}

+ +

{{InheritanceDiagram}}

+ +

Properties

+ +

Also inherits properties from {{domxref("EventTarget")}}.

+ +
+
{{domxref("IDBRequest.error")}} {{readonlyInline}}
+
Returns a {{domxref("DOMException")}} in the event of an unsuccessful request, indicating what went wrong.
+
{{domxref("IDBRequest.result")}} {{readonlyInline}}
+
+

Returns the result of the request. If the the request failed and the result is not available, an InvalidStateError exception is thrown.

+
+
{{domxref("IDBRequest.source")}} {{readonlyInline}}
+
The source of the request, such as an {{domxref("IDBIndex")}} or an {{domxref("IDBObjectStore")}}. If no source exists (such as when calling {{domxref("IDBFactory.open")}}), it returns null.
+
{{domxref("IDBRequest.readyState")}} {{readonlyInline}}
+
The state of the request. Every request starts in the pending state. The state changes to done when the request completes successfully or when an error occurs.
+
{{domxref("IDBRequest.transaction")}} {{readonlyInline}}
+
The transaction for the request. This property can be null for certain requests, for example those returned from {{domxref("IDBFactory.open")}} unless an upgrade is needed. (You're just connecting to a database, so there is no transaction to return).
+
+ +

Methods

+ +

No methods, but inherits methods from {{domxref("EventTarget")}}.

+ +

Events

+ +

Listen to these events using addEventListener() or by assigning an event listener to the oneventname property of this interface.

+ +
+
error
+
Fired when an error caused a request to fail.
+ Also available via the onerror property.
+
success
+
Fired when an IDBRequest succeeds.
+ Also available via the onsuccess property.
+
+ +

Example

+ +

In the following code snippet, we open a database asynchronously and make a request; onerror and onsuccess functions are included to handle the success and error cases. For a full working example, see our To-do Notifications app (view example live.)

+ +
var db;
+
+// Let us open our database
+var DBOpenRequest = window.indexedDB.open("toDoList", 4);
+
+// these two event handlers act on the database being
+// opened successfully, or not
+DBOpenRequest.onerror = function(event) {
+  note.innerHTML += '<li>Error loading database.</li>';
+};
+
+DBOpenRequest.onsuccess = function(event) {
+  note.innerHTML += '<li>Database initialised.</li>';
+
+  // store the result of opening the database.
+  db = DBOpenRequest.result;
+};
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('IndexedDB', '#idl-def-IDBRequest', 'IDBRequest')}}{{Spec2('IndexedDB')}}Initial definition.
{{SpecName("IndexedDB 2", "#request-api", "IDBRequest")}}{{Spec2("IndexedDB 2")}} 
+ +

Browser compatibility

+ +
+
+ + +

{{Compat("api.IDBRequest")}}

+
+
+ +

See also

+ + -- cgit v1.2.3-54-g00ecf