Dela via


QueryIterator class

Representerar ett QueryIterator-objekt, en implementering av feed- eller frågesvar som möjliggör bläddringar och iterering ö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.

Detta kanske eller kanske inte hämtar fler sidor från serverdelen beroende på dina inställningar och typen av fråga. Aggregerade frågor hämtar vanligtvis alla serverdelssidor innan du returnerar den första batchen med svar.

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 riktar in dig på ES6 eller senare och körs på Nod 6 eller senare.

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.

Detta kanske eller kanske inte hämtar fler sidor från serverdelen beroende på dina inställningar och typen av fråga. Aggregerade frågor hämtar vanligtvis alla serverdelssidor innan du returnerar den första batchen med svar.

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 riktar in dig på ES6 eller senare och körs på Nod 6 eller senare.

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()