Spec-Zone.ru › Web APIs

IDBObjectStore: метод clear()

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

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

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

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

Метод clear() интерфейса IDBObjectStore создаёт и сразу возвращает объект IDBRequest, очищая этот объект хранилища в отдельном потоке. Это используется для удаления всех текущих данных из хранилища объекта.

Очистка хранилища объектов состоит из удаления всех записей из хранилища объекта и удаления всех записей в индексах, ссылающихся на хранилище объекта. Чтобы удалить только некоторые записи в хранилище, используйте IDBObjectStore.delete, передавая ключ или IDBKeyRange.

Синтаксис

clear()

Параметры

Нет.

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

Объект IDBRequest, на котором впоследствии срабатывают события, связанные с этой операцией.

Если операция выполнена успешно, значение свойства запроса result равно undefined.

Исключения

InvalidStateError DOMException

Выбрасывается, если хранилище объекта было удалено.

ReadOnlyError DOMException

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

TransactionInactiveError DOMException

Выбрасывается, если транзакция этого хранилища IDBObjectStore неактивна.

Примеры

В следующем фрагменте кода мы открываем транзакцию чтения/записи в нашей базе данных и очищаем все текущие данные из хранилища объектов с помощью clear(). Для полного рабочего примера обратитесь к нашему приложению To-do Notifications (посмотреть пример в работе).

// Let us open our database
const DBOpenRequest = window.indexedDB.open("toDoList", 4);

DBOpenRequest.onsuccess = (event) => {
  note.appendChild(document.createElement("li")).textContent =
    "Database initialized.";

  // store the result of opening the database in the db variable.
  // This is used a lot below
  db = DBOpenRequest.result;

  // Clear all the data from the object store
  clearData();
};

function clearData() {
  // open a read/write db transaction, ready for clearing the data
  const transaction = db.transaction(["toDoList"], "readwrite");

  // report on the success of the transaction completing, when everything is done
  transaction.oncomplete = (event) => {
    note.appendChild(document.createElement("li")).textContent =
      "Transaction completed.";
  };

  transaction.onerror = (event) => {
    note.appendChild(document.createElement("li")).textContent =
      `Transaction not opened due to error: ${transaction.error}`;
  };

  // create an object store on the transaction
  const objectStore = transaction.objectStore("toDoList");

  // Make a request to clear all the data out of the object store
  const objectStoreRequest = objectStore.clear();

  objectStoreRequest.onsuccess = (event) => {
    // report the success of our request
    note.appendChild(document.createElement("li")).textContent =
      "Request successful.";
  };
}

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

Спецификация
Indexed Database API 3.0
# ref-for-dom-idbobjectstore-clear③

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

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

См. также

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

© 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/IDBObjectStore/clear

Spec-Zone.ru

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