Dela via


QueryIterator class

Representerar ett QueryIterator-objekt, en implementering av flödes- eller frågesvar som gör det möjligt att bläddra och iterera över svaret i Azure Cosmos DB-databastjänsten.

Metoder

fetchAll()

Hämta alla sidor för frågan och returnera ett enda FeedResponse.

fetchNext()

Hämta nästa batch från feeden.

Det kan hända att fler sidor hämtas från serverdelen beroende på dina inställningar och typen av fråga. Sammanställda frågor hämtar vanligtvis alla serverdelssidor innan den första batchen med svar returneras.

getAsyncIterator()

Hämtar en asynkron iterator som ger resultat tills den är klar.

Obs! AsyncIterators är en mycket ny funktion och du kan behöva använda polyfils/etc. för att kunna använda dem i koden.

Om du använder TypeScript kan du använda följande polyfill så länge du har ES6 som mål eller högre och körs på Nod 6 eller högre.

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

Exempel

Iterera över alla databaser

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

Kontrollera om det fortfarande finns återstående resurser att bearbeta baserat på värdet för fortsättningstoken eller de element som finns kvar i den aktuella batchen i QueryIterator.

reset()

Återställ QueryIterator till början och rensa alla resurser i den

Metodinformation

fetchAll()

Hämta alla sidor för frågan och returnera ett enda FeedResponse.

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

Returer

Promise<FeedResponse<T>>

fetchNext()

Hämta nästa batch från feeden.

Det kan hända att fler sidor hämtas från serverdelen beroende på dina inställningar och typen av fråga. Sammanställda frågor hämtar vanligtvis alla serverdelssidor innan den första batchen med svar returneras.

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

Returer

Promise<FeedResponse<T>>

getAsyncIterator()

Hämtar en asynkron iterator som ger resultat tills den är klar.

Obs! AsyncIterators är en mycket ny funktion och du kan behöva använda polyfils/etc. för att kunna använda dem i koden.

Om du använder TypeScript kan du använda följande polyfill så länge du har ES6 som mål eller högre och körs på Nod 6 eller högre.

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

Exempel

Iterera över alla databaser

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

Returer

AsyncIterable<FeedResponse<T>>

hasMoreResults()

Kontrollera om det fortfarande finns återstående resurser att bearbeta baserat på värdet för fortsättningstoken eller de element som finns kvar i den aktuella batchen i QueryIterator.

function hasMoreResults(): boolean

Returer

boolean

sant om det finns andra element att bearbeta i QueryIterator.

reset()

Återställ QueryIterator till början och rensa alla resurser i den

function reset()