【发布时间】:2019-06-03 12:37:00
【问题描述】:
如何在 C# 中获取单个 API 调用状态成功响应。
我正在使用 Xamarin Forms 创建一个移动应用程序,
在我的应用程序中,我需要在应用程序启动时预取某些信息才能使用移动应用程序。
现在,我这样称呼细节,
public async Task<Response> GetAllVasInformationAsync()
{
var userDetails = GetUserDetailsAsync();
var getWageInfo = GetUserWageInfoAsync();
var getSalaryInfo = GetSalaryInfoAsync();
await Task.WhenAll(userDetails,
getWageInfo,
getSalaryInfo,
);
var resultToReturn = new Response
{
IsuserDetailsSucceeded = userDetails.Result,
IsgetWageInfoSucceeded = getWageInfo.Result,
IsgetSalaryInfoSucceeded = getSalaryInfo.Result,
};
return resultToReturn;
}
在我的应用中,我需要根据成功响应更新详细信息。这样的事情(2/5)完成了。每当我们收到新的回复时,都应该更新文本。
实现此功能的最佳方式是什么?是否可以与 Task.WhenAll 一起使用。因为我试图将所有内容都包装在一个方法调用中。
【问题讨论】:
-
为了澄清,您正在寻找进度更新?它从 (0/5) 完成开始,然后当第一个任务完成时,您希望 (1/5) 完成......等等。或者您想跟踪实际成功/失败的 Api 调用次数?
-
这似乎是异步 foreach 的一个案例(仅在 c# 8.0 中添加了支持):docs.microsoft.com/en-us/dotnet/csharp/language-reference/… 这不是您要找的东西吗?
标签: c# xamarin.forms task