QueryIterator class
代表 QueryIterator 物件,這是摘要或查詢回應的實作,可啟用周遊和逐一查看 Azure Cosmos DB 資料庫服務中的回應。
方法
fetch |
擷取查詢的所有頁面,並傳回單一 FeedResponse。 |
fetch |
從摘要擷取下一個批次。 視您的設定和查詢類型而定,這可能會或可能不會從後端擷取更多頁面。 匯總查詢通常會在傳回第一批回應之前擷取所有後端頁面。 |
get |
取得非同步反覆運算器,在完成之前會產生結果。 注意:AsyncIterators 是一項非常新的功能,您可能需要使用 polyfils/etc。才能在程式碼中使用它們。 如果您使用 TypeScript,只要以 ES6 或更高版本為目標且在節點 6 或更新版本上執行,就可以使用下列 polyfill。
範例 逐一查看所有資料庫
|
has |
根據接續權杖的值,或 QueryIterator 中目前批次剩餘的專案,判斷是否有剩餘的資源要處理。 |
reset() | 將 QueryIterator 重設為開頭,並清除其中的所有資源 |
方法詳細資料
fetchAll()
擷取查詢的所有頁面,並傳回單一 FeedResponse。
function fetchAll(): Promise<FeedResponse<T>>
傳回
Promise<FeedResponse<T>>
fetchNext()
從摘要擷取下一個批次。
視您的設定和查詢類型而定,這可能會或可能不會從後端擷取更多頁面。 匯總查詢通常會在傳回第一批回應之前擷取所有後端頁面。
function fetchNext(): Promise<FeedResponse<T>>
傳回
Promise<FeedResponse<T>>
getAsyncIterator()
取得非同步反覆運算器,在完成之前會產生結果。
注意:AsyncIterators 是一項非常新的功能,您可能需要使用 polyfils/etc。才能在程式碼中使用它們。
如果您使用 TypeScript,只要以 ES6 或更高版本為目標且在節點 6 或更新版本上執行,就可以使用下列 polyfill。
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
如果 QueryIterator 中有其他要處理的元素,則為 true。
reset()
將 QueryIterator 重設為開頭,並清除其中的所有資源
function reset()