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
fetch |
Načtěte všechny stránky dotazu a vraťte jeden feedResponse. |
fetch |
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í. |
get |
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šší.
Příklad Iterace ve všech databázích
|
has |
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()