Partilhar via


QueryIterator class

Representa um Objeto QueryIterator, uma implementação de feed ou resposta de consulta que permite atravessar e iterar sobre a resposta no serviço de base de dados do Azure Cosmos DB.

Métodos

fetchAll()

Obtenha todas as páginas da consulta e devolva um único FeedResponse.

fetchNext()

Obtenha o lote seguinte a partir do feed.

Isto pode ou não obter mais páginas do back-end, dependendo das suas definições e do tipo de consulta. Geralmente, as consultas agregadas obtêm todas as páginas de back-end antes de devolverem o primeiro lote de respostas.

getAsyncIterator()

Obtém um iterador assíncrono que produzirá resultados até à conclusão.

NOTA: AsyncIterators são uma funcionalidade muito nova e poderá ter de utilizar polyfils/etc. para os utilizar no seu código.

Se estiver a utilizar o TypeScript, pode utilizar o seguinte polifill desde que tenha como destino ES6 ou superior e esteja em execução no Nó 6 ou superior.

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

Exemplo

Iterar em todas as bases de dados

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

Determine se ainda existem recursos restantes a processar com base no valor do token de continuação ou nos elementos restantes no lote atual no QueryIterator.

reset()

Reponha o QueryIterator para o início e limpe todos os recursos dentro do mesmo

Detalhes de Método

fetchAll()

Obtenha todas as páginas da consulta e devolva um único FeedResponse.

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

Devoluções

Promise<FeedResponse<T>>

fetchNext()

Obtenha o lote seguinte a partir do feed.

Isto pode ou não obter mais páginas do back-end, dependendo das suas definições e do tipo de consulta. Geralmente, as consultas agregadas obtêm todas as páginas de back-end antes de devolverem o primeiro lote de respostas.

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

Devoluções

Promise<FeedResponse<T>>

getAsyncIterator()

Obtém um iterador assíncrono que produzirá resultados até à conclusão.

NOTA: AsyncIterators são uma funcionalidade muito nova e poderá ter de utilizar polyfils/etc. para os utilizar no seu código.

Se estiver a utilizar o TypeScript, pode utilizar o seguinte polifill desde que tenha como destino ES6 ou superior e esteja em execução no Nó 6 ou superior.

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

Exemplo

Iterar em todas as bases de dados

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

Devoluções

AsyncIterable<FeedResponse<T>>

hasMoreResults()

Determine se ainda existem recursos restantes a processar com base no valor do token de continuação ou nos elementos restantes no lote atual no QueryIterator.

function hasMoreResults(): boolean

Devoluções

boolean

true se existirem outros elementos a processar no QueryIterator.

reset()

Reponha o QueryIterator para o início e limpe todos os recursos dentro do mesmo

function reset()