我有以下使用异步等待的代码。
private async void DoAction()
{
foreach (var ele in new int[] { 1, 2, 3, 4, 5 })
{
int i = await LoadAction();
}
}
private Task<int> LoadAction()
{
Task<int> task = new Task<int>(CalledFromAsync);
return task;
}
private int CalledFromAsync()
{
Thread.Sleep(2000);
return rand.Next();
}
我的 CalledFromAsync() 从未被调用过。我在这里做错了什么吗?请帮助我。
最佳答案
您正在返回一个从未开始的任务。它也从未完成也就不足为奇了。您需要使用 task.Start();
来启动任务,或任何其他工厂方法,例如 Task.Run
。
关于c# - 等待不调用我的方法,它永远不会返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24689625/