你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

QueryResponse<T>.MoveNextAsync(QueryOptions, CancellationToken) 方法

定义

前进到查询结果的下一个元素。

public System.Threading.Tasks.Task<bool> MoveNextAsync (Microsoft.Azure.Devices.QueryOptions queryOptions = default, System.Threading.CancellationToken cancellationToken = default);
member this.MoveNextAsync : Microsoft.Azure.Devices.QueryOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Function MoveNextAsync (Optional queryOptions As QueryOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)

参数

queryOptions
QueryOptions
cancellationToken
CancellationToken

返回

如果查询结果中有下一项,则为 True。 如果没有其他项目,则为 False。

例外

如果此方法向 IoT 中心发出请求以获取下一页项,但 IoT 中心使用不成功的状态代码响应请求。 例如,如果提供的请求受到限制, IotHubServiceException 则会引发 和 ThrottlingException 。 有关可能的错误情况的完整列表,请参阅 IotHubServiceErrorCode

如果此方法向 IoT 中心发出请求以获取下一页项,但由于网络连接、DNS 故障或服务器证书验证等根本问题,HTTP 请求失败。

如果提供的取消令牌已请求取消。

示例

QueryResponse<Twin> queriedTwins = await iotHubServiceClient.Query.CreateAsync<Twin>("SELECT * FROM devices"); while (await queriedTwins.MoveNextAsync()) { Twin queriedTwin = queriedTwins.Current; Console.WriteLine(queriedTwin); }

注解

与 IEnumerator 的更典型的实现一样,在检查 Current之前应调用此函数一次。

此函数是异步函数,因为它可能会发出服务请求,以提取下一页的结果(如果结果的当前页已提前完成)。 请注意,此函数将返回 True,即使它位于项的特定页的末尾,只要至少有一页要提取。

适用于