--- title: IDBRequest.readyState slug: Web/API/IDBRequest/readyState tags: - API - IDBRequest - IndexedDB - Propriété - Reference translation_of: Web/API/IDBRequest/readyState ---
{{APIRef("IndexedDB")}}

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}}

Syntaxe

var currentReadyState = request.readyState;

Valeur

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.

Exemples

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écifications

Spécification État Commentaires
{{SpecName('IndexedDB', '#widl-IDBRequest-readyState', 'readyState')}} {{Spec2('IndexedDB')}}  
{{SpecName("IndexedDB 2", "#dom-idbrequest-readystate", "readyState")}} {{Spec2("IndexedDB 2")}}  

Compatibilité des navigateurs

{{CompatibilityTable}}
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}}

Voir aussi