Spec-Zone.ru › Web APIs

IDBCursorWithValue

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

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

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

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

Интерфейс IDBCursorWithValue API IndexedDB представляет собой курсор для обхода или итерации по нескольким записям в базе данных. Он идентичен IDBCursor, за исключением того, что он включает свойство value.

Курсор имеет источник, указывающий на индекс или хранилище объектов, по которому он итерируется. Он имеет позицию в диапазоне и перемещается в направлении, увеличивающемся или уменьшающимся в порядке ключей записей. Курсор позволяет приложению асинхронно обрабатывать все записи в диапазоне курсора.

Вы можете иметь неограниченное количество курсоров одновременно. Вы всегда получаете один и тот же IDBCursorWithValue объект, представляющий данный курсор. Операции выполняются на базовом индексе или хранилище объектов.

IDBCursor IDBCursorWithValue

Методы экземпляра

Наследует методы от родительского интерфейса, IDBCursor.

Свойства экземпляра

Наследует свойства от родительского интерфейса, IDBCursor.

IDBCursorWithValue.value Только для чтения

Возвращает значение текущего курсора.

Пример

В этом примере мы создаём транзакцию, получаем хранилище объектов, а затем используем курсор для итерации по всем записям в хранилище объектов. Курсору не требуется выбор данных на основе ключа; мы можем просто получить все данные. Также обратите внимание, что на каждой итерации цикла вы можете получить данные из текущей записи по объекту курсора, используя 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-idbcursorwithvalue②

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
IDBCursorWithValue 2423–57 12 1610–16 15 8 2525–57 22 14 8 1.51.5–7.0 4.4≤37–57
value 23 12 10 15 8 25 22 14 8 1.5 4.4
worker_support 23 12 42 15 10 25 42 14 10 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/IDBCursorWithValue

Spec-Zone.ru

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