gpt4 book ai didi

c# - 有谁知道 AsyncPageable 是什么?

转载 作者:行者123 更新时间:2023-12-04 12:33:02 24 4
gpt4 key购买 nike

我正在尝试从 Azure 服务获取所有内容,它返回 AsyncPageable。根据the doc它说

A collection of values that may take multiple service requests to iterate over.

这是否意味着它等于通过循环多次请求单个项目?

最佳答案

如果服务调用在页面中返回多个值,它将返回 Pageable<T>/AsyncPageable<T>因此。查看Consuming Service Methods Returning AsyncPageable .

为了更清楚地了解,请看下面:这显示了对从服务使用接收值页面的控制 AsyncPageable<T>.AsPages方法:

// call a service method, which returns AsyncPageable<T>
AsyncPageable<SecretProperties> response = client.GetPropertiesOfSecretsAsync();

await foreach (Page<SecretProperties> page in response.AsPages())
{
// enumerate through page items
foreach (SecretProperties secretProperties in page.Values)
{
Console.WriteLine(secretProperties.Name);
}

// get continuation token that can be used in AsPages call to resume enumeration
Console.WriteLine(page.ContinuationToken);
}

如果您的项目未启用 C# 8.0,您仍然可以使用 while 迭代 AsyncPageable循环:

// call a service method, which returns AsyncPageable<T>
AsyncPageable<SecretProperties> response = client.GetPropertiesOfSecretsAsync();

IAsyncEnumerator<SecretProperties> enumerator = response.GetAsyncEnumerator();
try
{
while (await enumerator.MoveNextAsync())
{
SecretProperties secretProperties = enumerator.Current;
Console.WriteLine(secretProperties.Name);
}
}
finally
{
await enumerator.DisposeAsync();
}

查看Azure.Core Response samples了解更多相关信息。

要更改页面大小,您可以使用 pageSizeHint参数AsPages方法。

关于c# - 有谁知道 AsyncPageable 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67337150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com