c# - 等待无效的异步方法

标签 c# asynchronous

如何等待 void async 方法完成其工作?

例如,我有如下函数:

async void LoadBlahBlah()
{
    await blah();
    ...
}

现在我想确保所有内容都已加载,然后再继续其他地方。

最佳答案

最好的做法是标记函数 async void 只有当它是 fire and forget 方法时,如果你想等待,你应该将它标记为 async Task

如果你仍然想等待,那么将它包装成这样 await Task.Run(() => blah())

关于c# - 等待无效的异步方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13636648/

相关文章:

python - 扭曲的循环调用不调用 errback

java - 当异步方法中某个线程发生异常时终止所有线程

c# - 我在字符串末尾得到空字符

c# - 是扩展绑定(bind)

c# - 对连续元素进行分组并选择第一个和最后一个元素

javascript - 在 node.js/express.js 中从多个异步源构建对象

php - 带有 FPM 的 PHP7 上的异步/线程

javascript - 如何链接 RXJS 中的 promise 列表?

c# - 重构方法以使用类作为参数

c# - 如何获取类实例的类型(不是类的类型,而是类的类型)