IDBRequest: свойство readyState
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2021 года.
Примечание: Эта функция доступна в Web Workers.
Только для чтения readyState свойство интерфейса IDBRequest возвращает состояние запроса.
Каждый запрос начинается в состоянии 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();
};
};
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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