La méthode continue()
de l'interface IDBCursor
fait avancer le curseur jusqu'à la prochaine position qui corrrespond à une clé donnée si celle-ci est passée en paramètre, si aucune clé n'est indiquée, le curseur avancera à la position qui suit immédiatement la position actuelle (dans la direction de progression du curseur).
Syntaxe
curseur.continue(cléOptionnelle);
Paramètres
cléOptionnelle
- La clé sur laquelle se positionne le curseur.
Exceptions
Cette méthode peut déclencher des exceptions DOMException
de type :
Exception | Description |
---|---|
TransactionInactiveError |
La transaction de l'IDBCursor est inactive. |
DataError |
Le paramètre
|
InvalidStateError |
Le curseur est en itération ou il a itéré au-delà de la plage. |
Exemple
Dans ce petit morceau de code, on fait une transaction, on récupère un magasin d'objet, puis on utilise un curseur afin d'itérer sur les enregistrements contenus dans le magasin. Il n'est pas nécessaire de sélectionner les données selon une clé, on peut simplement toutes les récupérer. On notera qu'à chaque itération de la boucle, on récupère les données correspondantes à l'enregistrement grâce au curseur sous la forme curseur.value.toto
. Pour étudier un exemple de travail complet, voir notre exemple IDBCursor (voir l'exemple live).
function afficheDonnee() { var transaction = db.transaction(['granListAlbum'], "readonly"); var objectStore = transaction.objectStore('granListAlbum'); objectStore.openCursor().onsuccess = function(event) { var curseur = event.target.result; if(curseur) { var listItem = document.createElement('li'); listItem.innerHTML = curseur.value.titreAlbum + ', ' + curseur.value.annee; list.appendChild(listItem); curseur.continue(); } else { console.log('Entrées toutes affichés.'); } }; };
Spécifications
Spécification | État | Commentaires |
---|---|---|
Indexed Database API La définition de 'continue()' dans cette spécification. |
Recommendation |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Support simple | 23webkit 24 |
10 moz 16.0 (16.0) |
10, en partie | 15 | 7.1 |
Disponible dans les web workers | (Oui) | 37.0 (37.0) | ? | (Oui) | ? |
Fonctionnalité | Android | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | 4.4 | 22.0 (22.0) | 1.0.1 | 10 | 22 | 8 |
Disponible dans les web workers | (Oui) | 37.0 (37.0) | (Oui) | ? | (Oui) | ? |
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