aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/api/idbindex/getallkeys/index.md
blob: fd13fd5758c6bb442a17693570be3bd2787f01fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
---
title: IDBIndex.getAllKeys()
slug: Web/API/IDBIndex/getAllKeys
tags:
  - API
  - IDBIndex
  - IndexedDB
  - Méthode
  - Reference
translation_of: Web/API/IDBIndex/getAllKeys
---
<div>{{APIRef("IndexedDB")}}</div>

<p>La méthode <strong><code>getAllKeys()</code></strong>, rattachée à l'interface {{domxref("IDBIndex")}}, permet de récupérer les clés de tous les objets contenus dans l'index et de les enregistrer dans la propriété <code>result</code> de l'objet renvoyé par la méthode.</p>

<h2 id="Syntaxe">Syntaxe</h2>

<pre class="syntaxbox">var getAllKeysRequest = <em>IDBIndex</em>.getAllKeys();
var getAllKeysRequest = <em>IDBIndex</em>.getAllKeys(<em>requete</em>);
var getAllKeysRequest = <em>IDBIndex</em>.getAllKeys(<em>requete</em>, <em>quantite</em>);</pre>

<h3 id="Paramètres">Paramètres</h3>

<dl>
 <dt><code>requete</code> {{optional_inline}}</dt>
 <dd>Une clé ou un intervalle de clé ({{domxref("IDBKeyRange")}}) qui identifie les clés qu'on souhaite récupérer. Si cette valeur vaut {{jsxref("null")}} ou est absente, le navigateur utilisera un intervalle de clé sans limite.</dd>
 <dt><code>quantite</code> {{optional_inline}}</dt>
 <dd>Le nombre d'enregistrements qu'on souhaite obtenir. Si cette quantité est supérieure au nombre d'enregistrements récupérés par la requête, le navigateur ne récupèrera que le premier élément. Si elle est négative ou supérieure à <code>2^32-1</code>, une exception {{jsxref("TypeError")}} sera levée.</dd>
</dl>

<h3 id="Valeur_de_retour">Valeur de retour</h3>

<p>Un objet {{domxref("IDBRequest")}} sur lequel seront reçus les différents évènements rattachés à cette opération.</p>

<h3 id="Exceptions">Exceptions</h3>

<p>Cette méthode peut déclencher une des exceptions suivantes :</p>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">Exception</th>
   <th scope="col">Description</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><code>TransactionInactiveError</code></td>
   <td>La transaction pour cet index {{domxref("IDBIndex")}} est inactive.</td>
  </tr>
  <tr>
   <td><code>InvalidStateError</code></td>
   <td>L'index {{domxref("IDBIndex")}} a été supprimé ou déplacé.</td>
  </tr>
  <tr>
   <td>{{jsxref("TypeError")}}</td>
   <td>Le paramètre <code>quantite</code> n'est pas compris entre <code>0</code> et <code>2^32-1</code></td>
  </tr>
 </tbody>
</table>

<h2 id="Exemples">Exemples</h2>

<pre class="brush: js">var myIndex = objectStore.index('index');
var getAllKeyRequest = myIndex.getAllKeys();
getAllKeysRequest.onsuccess = function() {
  console.log(getAllKeysRequest.result);
}
</pre>

<h2 id="Spécifications">Spécifications</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Spécification</th>
   <th scope="col">État</th>
   <th scope="col">Commentaires</th>
  </tr>
  <tr>
   <td>{{SpecName('IndexedDB 2', '#dom-idbindex-getallkeys', 'getAll()')}}</td>
   <td>{{Spec2('IndexedDB 2')}}</td>
   <td>Définition initiale.</td>
  </tr>
 </tbody>
</table>

<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>

<p>{{Compat("api.IDBIndex.getAllKeys")}}</p>

<h2 id="Voir_aussi">Voir aussi</h2>

<ul>
 <li><a href="/fr/docs/Web/API/API_IndexedDB/Using_IndexedDB">Utiliser IndexedDB</a></li>
 <li>Initier une connexion : {{domxref("IDBDatabase")}}</li>
 <li>Utiliser les transactions : {{domxref("IDBTransaction")}}</li>
 <li>Définir un intervalle de clés : {{domxref("IDBKeyRange")}}</li>
 <li>Récupérer et modifier les données : {{domxref("IDBObjectStore")}}</li>
 <li>Utiliser les curseurs {{domxref("IDBCursor")}}</li>
 <li>Exemple de référence : <a href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a> (<a href="https://mdn.github.io/to-do-notifications/">exemple <em>live</em></a>).</li>
</ul>