QueryIterator class
Rappresenta un oggetto QueryIterator, un'implementazione di risposta di feed o query che consente l'attraversamento e l'iterazione della risposta nel servizio di database Di Azure Cosmos DB.
Metodi
fetch |
Recuperare tutte le pagine per la query e restituire un singolo feedResponse. |
fetch |
Recuperare il batch successivo dal feed. Ciò può o non recuperare più pagine dal back-end a seconda delle impostazioni e del tipo di query. Le query di aggregazione recupereranno in genere tutte le pagine back-end prima di restituire il primo batch di risposte. |
get |
Ottiene un iteratore asincrono che restituirà risultati fino al completamento. NOTA: AsyncIterators è una funzionalità molto nuova e potrebbe essere necessario usare polyfils/etc. per usarli nel codice. Se si usa TypeScript, è possibile usare il polyfill seguente, purché si usi ES6 o versione successiva e sia in esecuzione nel nodo 6 o versione successiva.
Esempio Eseguire l'iterazione su tutti i database
|
has |
Determinare se sono ancora presenti risorse rimanenti da elaborare in base al valore del token di continuazione o agli elementi rimanenti nel batch corrente in QueryIterator. |
reset() | Reimpostare QueryIterator all'inizio e cancellare tutte le risorse al suo interno |
Dettagli metodo
fetchAll()
Recuperare tutte le pagine per la query e restituire un singolo feedResponse.
function fetchAll(): Promise<FeedResponse<T>>
Restituisce
Promise<FeedResponse<T>>
fetchNext()
Recuperare il batch successivo dal feed.
Ciò può o non recuperare più pagine dal back-end a seconda delle impostazioni e del tipo di query. Le query di aggregazione recupereranno in genere tutte le pagine back-end prima di restituire il primo batch di risposte.
function fetchNext(): Promise<FeedResponse<T>>
Restituisce
Promise<FeedResponse<T>>
getAsyncIterator()
Ottiene un iteratore asincrono che restituirà risultati fino al completamento.
NOTA: AsyncIterators è una funzionalità molto nuova e potrebbe essere necessario usare polyfils/etc. per usarli nel codice.
Se si usa TypeScript, è possibile usare il polyfill seguente, purché si usi ES6 o versione successiva e sia in esecuzione nel nodo 6 o versione successiva.
if (!Symbol || !Symbol.asyncIterator) {
(Symbol as any).asyncIterator = Symbol.for("Symbol.asyncIterator");
}
Esempio
Eseguire l'iterazione su tutti i database
for await(const { resources: db } of client.databases.readAll().getAsyncIterator()) {
console.log(`Got ${db} from AsyncIterator`);
}
function getAsyncIterator(): AsyncIterable<FeedResponse<T>>
Restituisce
AsyncIterable<FeedResponse<T>>
hasMoreResults()
Determinare se sono ancora presenti risorse rimanenti da elaborare in base al valore del token di continuazione o agli elementi rimanenti nel batch corrente in QueryIterator.
function hasMoreResults(): boolean
Restituisce
boolean
true se sono presenti altri elementi da elaborare in QueryIterator.
reset()
Reimpostare QueryIterator all'inizio e cancellare tutte le risorse al suo interno
function reset()