--- title: IDBRequest.readyState slug: Web/API/IDBRequest/readyState tags: - API - IDBRequest - IndexedDB - Propriété - Reference translation_of: Web/API/IDBRequest/readyState ---
La propriété readyState
, rattachée à l'interface {{domxref("IDBRequest")}}, est une propriété en lecture seule qui indique l'état de la requête.
Chaque requête démarre avec l'état pending
(c'est-à-dire en attente). Cet état vaut ensuite done
(fini) lorsque la requête est terminée (en cas de réussite de l'opération comme en cas d'échec).
{{AvailableInWorkers}}
var currentReadyState = request.readyState;
La valeur {{domxref("IDBRequestReadyState")}} de la requête, qui peut être l'un de deux valeurs. pending
lorsque la requête est en attente, done
lorsque celle-ci est finie.
Dans l'exemple qui suit, on effectue une requête sur un enregistrement avec un titre donné et on recupère l'enregistrement associé grâce au gestionnaire d'évènement onsuccess
à partir du magasin d'objets {{domxref("IDBObjectStore")}}. Ensuite, on met à jour une des propriétés de cet enregistrement et on replace cet objet mis à jour dans le magasin d'objets via une autre requête. La valeur de la propriété readyState
pour la deuxième requête est affichée dans la console. Pour consulter un exemple fonctionnel complet, vous pouvez vous référer à notre appliction To-do Notifications (cf. également l'exemple live).
var title = "Walk dog"; // On ouvre une transaction var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList'); // On récupère l'enregistrement avec le titre souhaité var objectStoreTitleRequest = objectStore.get(title); objectStoreTitleRequest.onsuccess = function() { // On récupère les données du résultat de la requête var data = objectStoreTitleRequest.result; // On met à jour la propriété notified de l'objet // avec la valeur "yes" data.notified = "yes"; // Ensuite, on crée une autre requête pour insérer // l'enregistrement dans la base de données var updateTitleRequest = objectStore.put(data); // On affiche l'état de la requête dans la console console.log("La valeur de readyState est " + updateTitlerequest.readyState); // Lorsque cette deuxième requête est appliquée, // on exécute la fonction displayData() afin d'afficher // les données à jour updateTitleRequest.onsuccess = function() { displayData(); }; };
Spécification | État | Commentaires |
---|---|---|
{{SpecName('IndexedDB', '#widl-IDBRequest-readyState', 'readyState')}} | {{Spec2('IndexedDB')}} | |
{{SpecName("IndexedDB 2", "#dom-idbrequest-readystate", "readyState")}} | {{Spec2("IndexedDB 2")}} |
Fonctionnalité | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Support simple | 23{{property_prefix("webkit")}} 24 (sans préfixe) |
{{CompatVersionUnknown}} | 10 {{property_prefix("moz")}} {{CompatGeckoDesktop("16.0")}} |
10, partial | 15 | 7.1 |
Disponible dans les web workers | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatGeckoMobile("37.0")}} | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} |
Fonctionnalité | Android | Webview Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome pour Android |
---|---|---|---|---|---|---|---|---|
Support simple | 4.4 | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("22.0")}} | 10 | 22 | 8 | {{CompatVersionUnknown}} |
Disponible dans les web workers | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatGeckoMobile("37.0")}} | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatVersionUnknown}} |