你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
QueryResponse<T>.MoveNextAsync(QueryOptions, CancellationToken) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
前进到查询结果的下一个元素。
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,即使它位于项的特定页的末尾,只要至少有一页要提取。