IDBIndex: getAll()-Methode

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.

Die getAll()-Methode der IDBIndex-Schnittstelle ruft alle Objekte ab, die sich im Index befinden.

Es gibt einen Leistungskostenfaktor beim Betrachten der value-Eigenschaft eines Cursors, da das Objekt verzögert erstellt wird. Um eine Funktion wie getAll() zu verwenden, muss der Browser alle Objekte auf einmal erstellen. Wenn Sie sich zum Beispiel nur dafür interessieren, jeden der Schlüssel anzusehen, ist es effizienter, einen Cursor zu verwenden. Wenn Sie jedoch versuchen, ein Array aller Objekte in einem Object Store zu erhalten, sollten Sie getAll() verwenden.

Syntax

js
getAll()
getAll(query)
getAll(query, count)

Parameter

query Optional

Ein Schlüssel oder ein IDBKeyRange, der die abzurufenden Datensätze identifiziert. Wenn dieser Wert null oder nicht angegeben ist, verwendet der Browser einen ungebundenen Schlüsselbereich.

count Optional

Die Anzahl der zurückzugebenden Datensätze. Überschreitet dieser Wert die Anzahl der Datensätze in der Abfrage, wird der Browser nur die abgefragten Datensätze abrufen. Wenn er niedriger als 0 oder größer als 2^32 - 1 ist, wird eine TypeError-Ausnahme ausgelöst.

Rückgabewert

Ein IDBRequest-Objekt, auf dem nachfolgende Ereignisse in Bezug auf diese Operation ausgelöst werden.

Wenn die Operation erfolgreich ist, ist der Wert der result-Eigenschaft der Anforderung ein Array der Werte aller Datensätze, die der gegebenen Abfrage entsprechen, bis zum Wert von count, falls count angegeben wurde.

Ausnahmen

Diese Methode kann eine DOMException der folgenden Typen auslösen:

TransactionInactiveError DOMException

Wird ausgelöst, wenn die Transaktion dieses IDBIndex nicht aktiv ist.

InvalidStateError DOMException

Wird ausgelöst, wenn der IDBIndex gelöscht oder entfernt wurde.

Eine TypeError-Ausnahme wird ausgelöst, wenn der count-Parameter nicht zwischen 0 und 2^32 - 1 (einschließlich) liegt.

Beispiele

js
const myIndex = objectStore.index("index");
const getAllRequest = myIndex.getAll();
getAllRequest.onsuccess = () => {
  console.log(getAllRequest.result);
};

Spezifikationen

Specification
Indexed Database API 3.0
# ref-for-dom-idbindex-getall①

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch