IDBCursor.continue()

continue()IDBCursor インターフェースのメソッドで、カーソルを現在の方向に次の位置、任意のキーパラメーターに一致するキーを持つアイテムまで進めます。キーを指定しない場合、カーソルはその方向に基づいて、すぐ隣の位置へ進みます。

註: この機能は Web Workers 内で利用可能です。

構文

cursor.continue(key);

引数

key Optional
カーソルを進めるためのキーです。

例外

このメソッドは次の内いずれかの DOMException を発生させることがあります。

例外 解説
TransactionInactiveError この IDBCursor のトランザクションがアクティブではありません。
DataError

キーパラメーターが以下の状態のうちのいずれかである可能性があります。

  • キーが妥当なキーではない
  • キーがこのカーソルの位置と同じかそれより小さく、カーソルの方向が next または nextunique である
  • キーがこのカーソルの位置と同じかそれより大きく、カーソルの方向が prev または prevunique である
InvalidStateError カーソルが現在走査中または末尾を越えて走査しました。

この単純で部分的な実例ではトランザクションを作り、オブジェクトストアを取得した後、オブジェクトストア内の全ての反復処理するためカーソルを使用しています。カーソルはキーに基づいてデータを選択するには必要ありません。その全てを捕らえることができます。また、それぞれのループ内での繰り返しでカーソルオブジェクトを用い、 cursor.value.foo とすることで、現在のレコードからカーソルの下のデータを取得できることには注目です。完全な例については IDBCursor の例 (ライブデモを見る) を参照してください。

function displayData() {
  var transaction = db.transaction(['rushAlbumList'], "readonly");
  var objectStore = transaction.objectStore('rushAlbumList');

  objectStore.openCursor().onsuccess = function(event) {
    var cursor = event.target.result;
    if(cursor) {
      var listItem = document.createElement('li');
      listItem.innerHTML = cursor.value.albumTitle + ', ' + cursor.value.year;
      list.appendChild(listItem);  

      cursor.continue();
    } else {
      console.log('Entries all displayed.');
    }
  };
};

仕様書

仕様書 状態 備考
Indexed Database API 2.0
continue() の定義
勧告
Indexed Database API Draft
continue() の定義
勧告

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
continueChrome 完全対応 24
完全対応 24
未対応 23 — 24
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 12Firefox 完全対応 16
完全対応 16
未対応 10 — 16
接頭辞付き
接頭辞付き moz のベンダー接頭辞が必要
IE 完全対応 10
補足
完全対応 10
補足
補足 partial
Opera 完全対応 15Safari 完全対応 7WebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 22Opera Android 完全対応 14Safari iOS 完全対応 8Samsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応
実装ノートを参照してください。
実装ノートを参照してください。
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

関連情報