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();
  };
};

仕様書

仕様書 状態 備考
Indexed Database API 2.0
onsuccess の定義
勧告
Indexed Database API 2.0
onsuccess の定義
勧告

ブラウザーの対応

BCD tables only load in the browser

関連情報