1. 開発者向けのウェブ技術
  2. Web API
  3. IDBRequest
  4. IDBRequest.source

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

IDBRequest.source

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

IDBRequest インターフェイスの読み取り専用プロパティ source は、要求元 (インデックスやオブジェクトストアなど) を返します。(IDBFactory.open を呼んだときなど) 要求元が存在しない場合、null を返します。

メモ: この機能はウェブワーカー内で利用可能です。

IDBIndexIDBObjectStoreIDBCursor などの、要求元を表すオブジェクトです。

以下の例では、タイトルを指定してレコードを要求し、onsuccessIDBObjectStore から (objectStoreTitleRequest.result として参照できるようになった) 対応するレコードを取得し、レコードのプロパティ 1 個を更新し、更新したレコードを別の要求でオブジェクトストアに書き戻します。2 番目の要求の要求元が、開発者コンソールに記録されます。動く例全体は、To-do Notifications アプリケーションを参照してください。(動く例を見る)

js
const title = "Walk dog";
// 通常通りトランザクションを開始します
const objectStore = db
 .transaction(["toDoList"], "readwrite")
 .objectStore("toDoList");
// 指定した title をタイトルとして持つ TO-DO リストのオブジェクトを取得します
const objectStoreTitleRequest = objectStore.get(title);
objectStoreTitleRequest.onsuccess = () => {
 // result として返されたデータオブジェクトを取得します
 const data = objectStoreTitleRequest.result;
 // オブジェクトの notified の値を "yes" に更新します
 data.notified = "yes";
 // アイテムをデータベースに書き戻す別の要求を生成します
 const updateTitleRequest = objectStore.put(data);
 // この要求の要求元を記録します
 console.log(`この要求の要求元は ${updateTitleRequest.source} です`);
 // 新しい要求が成功したら、また displayData() 関数を
 // 実行し、表示を更新します
 updateTitleRequest.onsuccess = () => {
 displayData();
 };
};

仕様書

仕様書
Indexed Database API 3.0
# ref-for-dom-idbrequest-source1

ブラウザーの互換性

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /