【发布时间】:2019-02-01 03:51:55
【问题描述】:
在我的 WPF 应用程序中,我正在调用 relaycommand
private void AutoRun(object parameter)
{
for(int i=0;i<10;i++)
{
MoveLotCommand.Execute(0);
}
}
这又调用另一个中继命令
private void MoveLot(object parameter)
{
//Some Code
var Task = StartLotProcessing(currentAssemblyPlant);
}
}
这个中继命令会调用另一个异步函数
async Task StartLotProcessing(int currentAssemblyPlant)
{
await Task.Delay(5000);
var nextAssemblyPlant = currentAssemblyPlant + 1;
//Process after await
}
问题是,'await Task.Delay(5000)' 之后的代码在我的 AutoRun() 函数执行完成之前不会执行。
我正在尝试为我的 for 循环中的每个变量执行等待异步代码。
任何帮助将不胜感激,并对我的解释感到抱歉。
【问题讨论】:
-
如果我按照你的解释,我认为你的问题是循环中的等待将如何工作。 stackoverflow.com/questions/19431494/how-to-use-await-in-a-loop
标签: c# wpf mvvm relaycommand