我有一个List
我Task<bool>
想迭代它,根据等待的结果我决定是继续还是中断,但具有讽刺意味的是,foreach
只是执行任务并且 await 关键字不起作用
这是我的代码
private async void Execute(object sender, EventArgs e)
{
var tList = new List<Task<bool>> { Method1(), Method2()};
foreach (var task in tList)
{
var result = await task;
if(!result)
break;
}
}
public async Task<bool> Method1()
{
await Task.Delay(1000);
Console.WriteLine("Method1");
return false;
}
public async Task<bool> Method2()
{
await Task.Delay(1000);
Console.WriteLine("Method2");
return true;
}
结果:两个函数都被执行。
问题:我怎么能在里面使用等待foreach
?
并提前感谢。