Поделиться через


QueryIterator class

Представляет объект QueryIterator, реализацию веб-канала или ответа запроса, который позволяет выполнять обход и итерацию по ответу в службе базы данных Azure Cosmos DB.

Методы

fetchAll()

Извлеките все страницы запроса и верните один объект FeedResponse.

fetchNext()

Получите следующий пакет из веб-канала.

Это может или не может получить больше страниц из серверной части в зависимости от ваших параметров и типа запроса. Агрегированные запросы обычно извлекает все внутренние страницы, прежде чем возвращать первый пакет ответов.

getAsyncIterator()

Возвращает асинхронный итератор, который будет давать результаты до завершения.

ПРИМЕЧАНИЕ. AsyncIterators — это очень новая функция, и вам может потребоваться использовать полифилы и т. д., чтобы использовать их в коде.

Если вы используете TypeScript, вы можете использовать следующее полизаполнение, если вы нацелены на ES6 или более поздней версии и работаете на узле 6 или более поздней версии.

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

Пример

Итерации по всем базам данных

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

Определите, есть ли еще оставшиеся ресурсы для обработки на основе значения маркера продолжения или элементов, оставшихся в текущем пакете в QueryIterator.

reset()

Сброс элемента QueryIterator до начала и очистка всех ресурсов в нем

Сведения о методе

fetchAll()

Извлеките все страницы запроса и верните один объект FeedResponse.

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

Возвращаемое значение

Promise<FeedResponse<T>>

fetchNext()

Получите следующий пакет из веб-канала.

Это может или не может получить больше страниц из серверной части в зависимости от ваших параметров и типа запроса. Агрегированные запросы обычно извлекает все внутренние страницы, прежде чем возвращать первый пакет ответов.

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

Возвращаемое значение

Promise<FeedResponse<T>>

getAsyncIterator()

Возвращает асинхронный итератор, который будет давать результаты до завершения.

ПРИМЕЧАНИЕ. AsyncIterators — это очень новая функция, и вам может потребоваться использовать полифилы и т. д., чтобы использовать их в коде.

Если вы используете TypeScript, вы можете использовать следующее полизаполнение, если вы нацелены на ES6 или более поздней версии и работаете на узле 6 или более поздней версии.

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

Пример

Итерации по всем базам данных

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

Возвращаемое значение

AsyncIterable<FeedResponse<T>>

hasMoreResults()

Определите, есть ли еще оставшиеся ресурсы для обработки на основе значения маркера продолжения или элементов, оставшихся в текущем пакете в QueryIterator.

function hasMoreResults(): boolean

Возвращаемое значение

boolean

Значение true, если в QueryIterator есть другие элементы для обработки.

reset()

Сброс элемента QueryIterator до начала и очистка всех ресурсов в нем

function reset()