IDBCursorWithValue
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с сентября 2021 года.
Примечание: Эта функция доступна в Потоках Web Workers.
Интерфейс IDBCursorWithValue API IndexedDB представляет собой курсор для обхода или итерации по нескольким записям в базе данных. Он идентичен IDBCursor, за исключением того, что он включает свойство value.
Курсор имеет источник, указывающий на индекс или хранилище объектов, по которому он итерируется. Он имеет позицию в диапазоне и перемещается в направлении, увеличивающемся или уменьшающимся в порядке ключей записей. Курсор позволяет приложению асинхронно обрабатывать все записи в диапазоне курсора.
Вы можете иметь неограниченное количество курсоров одновременно. Вы всегда получаете один и тот же 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.");
}
};
}
Спецификации
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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