null
null
public async void SendSeveralRequestsAsync(MyClass myClass)
{
var client = SomeExternalServiceClient();
foreach(var item in myClass)
{
var singleAsyncRequest = new ExternalServiceRequest()
{
Value = item.Value
};
var response = await client.SendAsync(singleAsyncRequest);
}
}
是的,您应该能够使用类似于:
public async void SendSeveralRequestsAsync(MyClass myClass)
{
var client = SomeExternalServiceClient();
var tasks = myClass
.Select(item => new ExternalServiceRequest { Value = item.Value })
.Select(request => client.SendAsync(request));
await Task.WhenAll(tasks);
}
或者可能更好--因为我不喜欢从异步方法返回
public Task SendSeveralRequestsAsync(MyClass myClass)
{
var client = SomeExternalServiceClient();
var tasks = myClass
.Select(item => new ExternalServiceRequest { Value = item.Value })
.Select(request => client.SendAsync(request));
return Task.WhenAll(tasks);
}