【发布时间】:2018-11-14 09:21:34
【问题描述】:
我的async方法如下:
public async Task<List<object>> handleSummaryOfWallets()
{
string token = giveMeToken("URL AND CREDS");
Channel channel = new Channel("NANANANA GIROUD", ChannelCredentials.Insecure);
OMGadminAPI.OMGadminAPIClient client = new OMGadminAPI.OMGadminAPIClient(channel);
var summaryBalancesParams = new OMGadminAPIGetCurrenciesSummariesParams();
summaryBalancesParams.AdminAuthTokenSecret = token;
List<object> summariesCurrenciesOMGadmin = new List<object>();
using (var call = client.GetCurrenciesSummaries(summaryBalancesParams))
{
while (await call.ResponseStream.MoveNext())
{
OMGadminAPICurrencySummary currencySummary = call.ResponseStream.Current;
summariesCurrenciesOMGadmin.Add(currencySummary);
Console.WriteLine(summariesCurrenciesOMGadmin);
}
return summariesCurrenciesOMGadmin;
}
}
如您所见,上面的async 方法返回对象列表。我将这种方法称为如下:
var listOfBalances = balances.handleSummaryOfWallets().Wait();
它给了我错误:
错误 CS0815:无法将 void 分配给隐式类型变量
从错误中,我了解到这不是调用async 方法的正确方法。但我需要从async 获取的数据中读取准备好的对象列表。它的请求-响应,没有真正稳定的流。所以我只需要为每个请求生成一次这个列表。我正在使用 gRPC 框架进行 RPC 调用。
请帮我获取这些数据并准备好使用。
【问题讨论】:
-
var listOfBalances = await balances.handleSummaryOfWallets();... en 错误是不言自明的Task.Wait()什么也不返回 (void) ... 编辑:当然使用此代码的方法必须是async跨度>
标签: c# asynchronous async-await grpc