【发布时间】:2019-07-26 10:23:14
【问题描述】:
我正在调用async api 来获取详细信息。
目标api 端点可以更改并希望将其作为动态函数传递。
既然所有api的细节分页都是一样的,我们如何才能使它成为delegate函数和async return value?
private async Task<List<Items>> GetItemsAsync(HttpClient client, string arg1)
{
var totalResults = new List<Items>();
int skip = 0, resultsCount = 1;
while (resultsCount != 0)
{
var results = await GetItems(client, arg1, skip);
if (results != null)
{
totalResults.AddRange(results);
resultsCount = results.Count;
skip += resultsCount;
}
else
{
resultsCount = 0;
}
}
return totalResults;
}
private async Task<List<Users>> GetUsersAsync(HttpClient client, string arg1)
{
var totalResults = new List<Users>();
int skip = 0, resultsCount = 1;
while (resultsCount != 0)
{
var results = await GetUsers(client, arg1, skip);
if (results != null)
{
totalResults.AddRange(results);
resultsCount = results.Count;
skip += resultsCount;
}
else
{
resultsCount = 0;
}
}
return totalResults;
}
【问题讨论】:
标签: c# asynchronous delegates