IDBRequest.readyState
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
La propriété readyState
, rattachée à l'interface 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).
Note : Cette fonctionnalité est disponible via les Web Workers.
Syntaxe
var currentReadyState = request.readyState;
Valeur
La valeur 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 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
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbrequest-readystate① |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
- Manipuler IndexedDB
- Démarrer des transactions :
IDBDatabase
- Manipuler des transactions :
IDBTransaction
- Définir un intervalle de clés :
IDBKeyRange
- Récupérer des données et les modifier :
IDBObjectStore
- Manipuler des curseurs :
IDBCursor
- Exemple de référence pour IndexedDB : To-do Notifications