IDBRequest.onsuccess
IDBRequest
インターフェースのonsuccess
イベントハンドラはリクエストの結果が正常に帰ってきた時に着火されるsuccess
イベントをハンドリングします。
イベントハンドラは、type="success"の成功イベント (en-US)をパラメータとして受け取ります。
注: この機能は Web Worker 内で利用可能です。
構文
request.onsuccess = function(event) { ... };
例
下記の例は、指定されたレコードタイトルをリクエストします。リクエストのonsuccess
イベントハンドラはIDBObjectStore
(en-US) (objectStoreTitleRequest.result
として利用可能)からレコードを取得し、そのプロパティを更新してオブジェクトストアに書き戻します。
完全な例は To-do Notifications app (example live)を参照してください。
var title = "Walk dog";
// いつものようにトランザクションをオープンする
var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList');
// title変数の値をタイトルとして持つTo-Doリストオブジェクトを取得する
var objectStoreTitleRequest = objectStore.get(title);
objectStoreTitleRequest.onsuccess = function() {
// resultとして返却されたデータオブジェクトを取得
var data = objectStoreTitleRequest.result;
// データオブジェクトのnotifiedプロパティ値を"yes"に更新する
data.notified = "yes";
// データベースにアイテムを書き戻す別のリクエストを作成する
var updateTitleRequest = objectStore.put(data);
// この新しいリクエストが成功すると、
// 表示更新のためにdisplayData()が再度実行される
updateTitleRequest.onsuccess = function() {
displayData();
};
};
仕様書
ブラウザーの対応
BCD tables only load in the browser
関連情報
- Using IndexedDB
- Success Event (en-US)
- Starting transactions:
IDBDatabase
- Using transactions:
IDBTransaction
- Setting a range of keys:
IDBKeyRange
(en-US) - Retrieving and making changes to your data:
IDBObjectStore
(en-US) - Using cursors:
IDBCursor
- Reference example: To-do Notifications (view example live.)
success
event