Freigeben über


QueryIterator class

Stellt ein QueryIterator-Objekt dar, eine Implementierung von Feed- oder Abfrageantworten, die das Durchlaufen und Durchlaufen der Antwort im Azure Cosmos DB-Datenbankdienst ermöglicht.

Methoden

fetchAll()

Rufen Sie alle Seiten für die Abfrage ab, und geben Sie einen einzelnen FeedResponse zurück.

fetchNext()

Rufen Sie den nächsten Batch aus dem Feed ab.

Dies kann abhängig von Ihren Einstellungen und dem Abfragetyp mehrere Seiten aus dem Back-End abrufen oder nicht. Aggregierte Abfragen rufen in der Regel alle Back-End-Seiten ab, bevor der erste Antwortbatch zurückgegeben wird.

getAsyncIterator()

Ruft einen asynchronen Iterator ab, der bis zum Abschluss Ergebnisse liefert.

HINWEIS: AsyncIterators sind ein sehr neues Feature, und Möglicherweise müssen Sie polyfils/etc. verwenden, um sie in Ihrem Code verwenden zu können.

Wenn Sie TypeScript verwenden, können Sie den folgenden Polyfill verwenden, solange Sie es6 oder höher als Ziel verwenden und auf Knoten 6 oder höher ausgeführt werden.

if (!Symbol || !Symbol.asyncIterator) {
  (Symbol as any).asyncIterator = Symbol.for("Symbol.asyncIterator");
}

Beispiel

Durchlaufen aller Datenbanken

for await(const { resources: db } of client.databases.readAll().getAsyncIterator()) {
  console.log(`Got ${db} from AsyncIterator`);
}
hasMoreResults()

Ermitteln Sie anhand des Werts des Fortsetzungstokens oder der im aktuellen Batch im QueryIterator verbleibenden Elemente, ob noch verbleibende Ressourcen zur Verarbeitung vorhanden sind.

reset()

Setzen Sie den QueryIterator auf den Anfang zurück, und löschen Sie alle darin enthaltenen Ressourcen.

Details zur Methode

fetchAll()

Rufen Sie alle Seiten für die Abfrage ab, und geben Sie einen einzelnen FeedResponse zurück.

function fetchAll(): Promise<FeedResponse<T>>

Gibt zurück

Promise<FeedResponse<T>>

fetchNext()

Rufen Sie den nächsten Batch aus dem Feed ab.

Dies kann abhängig von Ihren Einstellungen und dem Abfragetyp mehrere Seiten aus dem Back-End abrufen oder nicht. Aggregierte Abfragen rufen in der Regel alle Back-End-Seiten ab, bevor der erste Antwortbatch zurückgegeben wird.

function fetchNext(): Promise<FeedResponse<T>>

Gibt zurück

Promise<FeedResponse<T>>

getAsyncIterator()

Ruft einen asynchronen Iterator ab, der bis zum Abschluss Ergebnisse liefert.

HINWEIS: AsyncIterators sind ein sehr neues Feature, und Möglicherweise müssen Sie polyfils/etc. verwenden, um sie in Ihrem Code verwenden zu können.

Wenn Sie TypeScript verwenden, können Sie den folgenden Polyfill verwenden, solange Sie es6 oder höher als Ziel verwenden und auf Knoten 6 oder höher ausgeführt werden.

if (!Symbol || !Symbol.asyncIterator) {
  (Symbol as any).asyncIterator = Symbol.for("Symbol.asyncIterator");
}

Beispiel

Durchlaufen aller Datenbanken

for await(const { resources: db } of client.databases.readAll().getAsyncIterator()) {
  console.log(`Got ${db} from AsyncIterator`);
}
function getAsyncIterator(): AsyncIterable<FeedResponse<T>>

Gibt zurück

AsyncIterable<FeedResponse<T>>

hasMoreResults()

Ermitteln Sie anhand des Werts des Fortsetzungstokens oder der im aktuellen Batch im QueryIterator verbleibenden Elemente, ob noch verbleibende Ressourcen zur Verarbeitung vorhanden sind.

function hasMoreResults(): boolean

Gibt zurück

boolean

true, wenn andere Elemente im QueryIterator verarbeitet werden müssen.

reset()

Setzen Sie den QueryIterator auf den Anfang zurück, und löschen Sie alle darin enthaltenen Ressourcen.

function reset()