[英]async calls not awaited inside foreach [closed]
在我的C#代码中,每次都不会等待来自内部的for异步调用。
码
private async Task GetCardInfo()
{
try
{
var result = await DoTask1();
var info = await DoTask2();
foreach (var inf in info)
{
await DoTask3();
}
}
catch (Exception ex){ }
}
DoTask1();
和DoTask2();
总是在等待,但是DoTask3();
有时等待,有时不是。 我认为问题出在DoTask3();
但是如果我把DoTask1();
在foreach循环中,我遇到了类似的问题。 难道我做错了什么?
仅当从foreach循环内部调用它时,才会发生此问题;如果从foreach循环外部调用,则会按预期等待这些函数。
有人可以建议吗?
我的猜测是:
要验证这一点,请在调试器下运行它或添加一些Console.WriteLines()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.