Spec-Zone.ru › Web APIs

IDBCursor: свойство direction

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

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

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

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

Чтение-только свойство direction интерфейса IDBCursor — это строка, которая возвращает направление обхода курсора (устанавливается, например, с помощью IDBObjectStore.openCursor). Возможные значения см. в разделе Значение ниже.

Значение

Строка, указывающая направление, в котором курсор перемещается по данным. Возможные значения:

next

Это направление открывает курсор в начале источника.

nextunique

Это направление открывает курсор в начале источника. Для каждой записи с дублирующими ключами возвращается только первая посещённая запись (ближайшая к началу).

prev

Это направление открывает курсор в конце источника.

prevunique

Это направление открывает курсор в конце источника. Для каждой записи с дублирующими ключами возвращается только первая посещённая запись (ближайшая к концу).

Примеры

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

Примечание: Мы не можем изменить направление перемещения курсора с помощью свойства direction, так как оно является только для чтения. Мы задаём направление перемещения, используя второй аргумент IDBObjectStore.openCursor.

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

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

  objectStore.openCursor(null, "prev").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);

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

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

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

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
direction 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/direction

Spec-Zone.ru

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