Sdílet prostřednictvím


QueryIterator class

Představuje objekt QueryIterator, implementaci informačního kanálu nebo odpovědi na dotaz, která umožňuje procházení a iteraci odpovědi v databázové službě Azure Cosmos DB.

Metody

fetchAll()

Načtěte všechny stránky dotazu a vraťte jeden feedResponse.

fetchNext()

Načtěte další dávku z informačního kanálu.

To může nebo nemusí načíst více stránek z back-endu v závislosti na vašem nastavení a typu dotazu. Agregační dotazy obvykle načtou všechny back-endové stránky před vrácením první dávky odpovědí.

getAsyncIterator()

Získá asynchronní iterátor, který bude poskytovat výsledky až do dokončení.

POZNÁMKA: AsyncIterátory jsou velmi novou funkcí a možná budete muset použít polyfils/atd., abyste je mohli použít v kódu.

Pokud používáte TypeScript, můžete použít následující polyfill, pokud cílíte na ES6 nebo vyšší a používáte node 6 nebo vyšší.

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

Příklad

Iterace ve všech databázích

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

Na základě hodnoty pokračovacího tokenu nebo prvků zbývajících v aktuální dávce v QueryIteratoru určete, jestli ještě zbývá prostředky ke zpracování.

reset()

Resetujte QueryIterator na začátek a vymažte všechny prostředky, které obsahuje.

Podrobnosti metody

fetchAll()

Načtěte všechny stránky dotazu a vraťte jeden feedResponse.

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

Návraty

Promise<FeedResponse<T>>

fetchNext()

Načtěte další dávku z informačního kanálu.

To může nebo nemusí načíst více stránek z back-endu v závislosti na vašem nastavení a typu dotazu. Agregační dotazy obvykle načtou všechny back-endové stránky před vrácením první dávky odpovědí.

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

Návraty

Promise<FeedResponse<T>>

getAsyncIterator()

Získá asynchronní iterátor, který bude poskytovat výsledky až do dokončení.

POZNÁMKA: AsyncIterátory jsou velmi novou funkcí a možná budete muset použít polyfils/atd., abyste je mohli použít v kódu.

Pokud používáte TypeScript, můžete použít následující polyfill, pokud cílíte na ES6 nebo vyšší a používáte node 6 nebo vyšší.

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

Příklad

Iterace ve všech databázích

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

Návraty

AsyncIterable<FeedResponse<T>>

hasMoreResults()

Na základě hodnoty pokračovacího tokenu nebo prvků zbývajících v aktuální dávce v QueryIteratoru určete, jestli ještě zbývá prostředky ke zpracování.

function hasMoreResults(): boolean

Návraty

boolean

pokud existují jiné prvky ke zpracování v QueryIterator.

reset()

Resetujte QueryIterator na začátek a vymažte všechny prostředky, které obsahuje.

function reset()