Partager via


QueryIterator class

Représente un objet QueryIterator, une implémentation de flux ou de réponse de requête qui permet une traversée et une itération sur la réponse dans le service de base de données Azure Cosmos DB.

Méthodes

fetchAll()

Récupérez toutes les pages de la requête et retournez un feedResponse unique.

fetchNext()

Récupérez le lot suivant à partir du flux.

Cela peut ou ne pas extraire plus de pages du back-end en fonction de vos paramètres et du type de requête. Les requêtes d’agrégation récupèrent généralement toutes les pages back-end avant de retourner le premier lot de réponses.

getAsyncIterator()

Obtient un itérateur asynchrone qui génère des résultats jusqu’à l’achèvement.

REMARQUE : Les AsyncIterators sont une fonctionnalité très nouvelle et vous devrez peut-être utiliser polyfils/etc. pour les utiliser dans votre code.

Si vous utilisez TypeScript, vous pouvez utiliser le polyfill suivant tant que vous ciblez ES6 ou version ultérieure et que vous exécutez sur node 6 ou version ultérieure.

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

exemple de

Itérer sur toutes les bases de données

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

Déterminez s’il reste des ressources à traiter en fonction de la valeur du jeton de continuation ou des éléments restants sur le lot actuel dans QueryIterator.

reset()

Réinitialisez le QueryIterator au début et effacez toutes les ressources à l’intérieur de celle-ci.

Détails de la méthode

fetchAll()

Récupérez toutes les pages de la requête et retournez un feedResponse unique.

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

Retours

Promise<FeedResponse<T>>

fetchNext()

Récupérez le lot suivant à partir du flux.

Cela peut ou ne pas extraire plus de pages du back-end en fonction de vos paramètres et du type de requête. Les requêtes d’agrégation récupèrent généralement toutes les pages back-end avant de retourner le premier lot de réponses.

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

Retours

Promise<FeedResponse<T>>

getAsyncIterator()

Obtient un itérateur asynchrone qui génère des résultats jusqu’à l’achèvement.

REMARQUE : Les AsyncIterators sont une fonctionnalité très nouvelle et vous devrez peut-être utiliser polyfils/etc. pour les utiliser dans votre code.

Si vous utilisez TypeScript, vous pouvez utiliser le polyfill suivant tant que vous ciblez ES6 ou version ultérieure et que vous exécutez sur node 6 ou version ultérieure.

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

exemple de

Itérer sur toutes les bases de données

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

Retours

AsyncIterable<FeedResponse<T>>

hasMoreResults()

Déterminez s’il reste des ressources à traiter en fonction de la valeur du jeton de continuation ou des éléments restants sur le lot actuel dans QueryIterator.

function hasMoreResults(): boolean

Retours

boolean

true s’il existe d’autres éléments à traiter dans QueryIterator.

reset()

Réinitialisez le QueryIterator au début et effacez toutes les ressources à l’intérieur de celle-ci.

function reset()