Oli*_*non 1 c# compiler-warnings async-await .net-core
所以下面的代码会触发编译器警告:
"没有 await 运算符的异步函数将同步运行"
public async Task UpsertMariaDb()
{
IEnumerable<Task> insertTasks = InsertSomethingDb();
IEnumerable<Task> updateTasks = UpdateSomethingDb();
Task.WaitAll(insertTasks.ToArray());
Task.WaitAll(updateTasks.ToArray());
}
Run Code Online (Sandbox Code Playgroud)
我的问题如下,是否有一些非常基本的关于 async/await 的内容我不了解,或者这只是一个编译器警告错误,因为我没有放置明确的“ await ”
Task.WaitAll 阻塞当前线程,所以警告是正确的 - 您尝试实现一个异步方法,但它不是异步的,因为没有等待任何东西。
你可能打算这样做:
public async Task UpsertMariaDb()
{
IEnumerable<Task> insertTasks = InsertSomethingDb();
IEnumerable<Task> updateTasks = UpdateSomethingDb();
await Task.WhenAll(insertTasks);
await Task.WhenAll(updateTasks);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
163 次 |
| 最近记录: |