nas*_*san 1 c# multithreading async-await parallel.foreach
我希望Timer运行5秒钟,同时向后端启动网络请求.我想在执行操作之前等待计时器和请求完成.
private async void doWork()
{
await Task.Delay(5000);
await doPostRequest();
doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)
像上面的代码一样,除了让这两个任务并行执行.我怎样才能做到这一点?
你可以用Task.WhenAll它:
private async void doWork()
{
await Task.WhenAll(
Task.Delay(5000),
doPostRequest());
doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)
还有Task.WhenAny,一旦其中的一个完成完成.
您是否故意不从此方法返回任务?你doWork现在不能等待自己.