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
fetch |
Obtenha todas as páginas da consulta e devolva um único FeedResponse. |
fetch |
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. |
get |
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.
Exemplo Iterar em todas as bases de dados
|
has |
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()