Spec-Zone.ru › Web APIs

IDBRequest: свойство readyState

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

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

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

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

Только для чтения readyState свойство интерфейса IDBRequest возвращает состояние запроса.

Каждый запрос начинается в состоянии pending. Состояние изменяется на done, когда запрос завершается успешно или возникает ошибка.

Значение

Одно из следующих значений:

pending

Возвращается, если запрос всё ещё выполняется.

done

Возвращается, если запрос уже завершен.

Примеры

В следующем примере запрашивается заголовок заданного записей, onsuccess извлекается соответствующая запись из IDBObjectStore (доступная как objectStoreTitleRequest.result), обновляется одно свойство записи, а затем обновленная запись снова помещается в хранилище объектов в другом запросе. Состояние readyState второго запроса регистрируется в консоли разработчика. Полный рабочий пример можно посмотреть в нашем приложении To-do Notifications (Посмотреть пример онлайн).

const title = "Walk dog";

// Open up a transaction as usual
const objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// Get the to-do list object that has this title as its title
const objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = () => {
  // Grab the data object returned as the result
  const data = objectStoreTitleRequest.result;

  // Update the notified value in the object to "yes"
  data.notified = "yes";

  // Create another request that inserts the item
  // back into the database
  const updateTitleRequest = objectStore.put(data);

  // Log the readyState of this request
  console.log(
    `The readyState of this request is ${updateTitleRequest.readyState}`,
  );

  // When this new request succeeds, run the displayData()
  // function again to update the display
  updateTitleRequest.onsuccess = () => {
    displayData();
  };
};

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

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

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

Рабочие столы Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android
readyState 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/IDBRequest/readyState

Spec-Zone.ru

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