Spec-Zone.ru › Web APIs

IDBCursor: метод continue()

Базовая Широко доступная

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с сентября 2021 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Web Workers.

Метод continue() интерфейса IDBCursor перемещает курсор в следующую позицию в его направлении до элемента, ключ которого соответствует необязательному параметру key. Если ключ не указан, курсор перемещается в непосредственную следующую позицию, основываясь на его направлении.

Синтаксис

continue()
continue(key)

Параметры

key Необязательно

Ключ, на котором нужно установить курсор.

Возвращаемое значение

None (undefined).

Исключения

Этот метод может вызывать исключение DOMException одного из следующих типов:

TransactionInactiveError DOMException

Выбрасывается, если транзакция данного IDBCursor неактивна.

DataError DOMException

Выбрасывается, если параметр key имеет следующие условия:

  • Ключ не является допустимым ключом.
  • Ключ меньше или равен позиции этого курсора, а направление курсора — next или nextunique.
  • Ключ больше или равен позиции этого курсора, а направление курсора — prev или prevunique.
InvalidStateError DOMException

Выбрасывается, если курсор в данный момент итерируется или прошёл конец итерации.

Примеры

В этом простом фрагменте мы создаём транзакцию, получаем хранилище объектов, а затем используем курсор для итерирования по всем записям в хранилище объектов. Курсору не нужно выбирать данные на основе ключа; мы можем просто получить все. Также обратите внимание, что на каждой итерации цикла вы можете получить данные из текущей записи в объекте курсора, используя cursor.value.foo. Для полного работающего примера, см. наш пример IDBCursor (Посмотреть пример в действии).

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

  objectStore.openCursor().onsuccess = (event) => {
    const cursor = event.target.result;
    if (cursor) {
      const listItem = document.createElement("li");
      listItem.textContent = `${cursor.value.albumTitle}, ${cursor.value.year}`;
      list.appendChild(listItem);

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

Спецификации

Спецификация
Indexed Database API 3.0
# ref-for-dom-idbcursor-continue①

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
continue 23 12 10 15 8 25 22 14 8 1.5 4.4

См. также

  • Использование IndexedDB
  • Запуск транзакций: IDBDatabase
  • Использование транзакций: IDBTransaction
  • Установление диапазона ключей: IDBKeyRange
  • Получение и изменение данных: IDBObjectStore
  • Использование курсоров: IDBCursor
  • Пример ссылки: Уведомления о задачах (Посмотреть пример в действии).

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IDBCursor/continue

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API