var dbr = window.indexedDB.open("Matrix");
非同期リクエストです。
非同期リクエストはバックグラウンドで実行され、関数が完了するまでコールバックを実行しません。したがって、コールバック関数が実行される前に、他のすべての割り当てが行われます。
indexedDB は、これらのコールバック関数が何であるかを正確に定義できるように、インターフェイス オブジェクトを返します。お願いをしているような感覚で考えてください。
マトリックスを開きたい
と言って応答を返します
ねえ、私はそれに取り組んでいます、ここにオブジェクトがあります。私がそれを終えたら、あなたがしたいことを挙げてください.
次に、開く操作が完了すると (そして現在の関数コンテキストの実行が完了すると)、そのオブジェクトを調べて、それに応じて実行されます。
の戻り値はopen
、関数の実際の結果ではなく、何をすべきかを伝えるために返される単なるオブジェクトです。これは、通常の JS コールバック モデルとは異なる、promise/deferredの方法に似ています。
これ:
function dbr.onsuccess(myEvent) {
}
は有効な構文ではありません。オブジェクト自体が定義されるまで、オブジェクトのプロパティを定義することはできず、javascript はプロパティの関数宣言をサポートしていません。それらはトップレベルのオブジェクトにのみ使用されます。