C#中等待异步函数执行完成,再继续向下执行代码;将异步函数按正常顺序执行_c#等待异步执行完成再执行主线程-CSDN博客

在WPF中,如果 Button 等触发的事件函数中,有异步函数时

程序就会陷入卡死状态

是因为线程的问题

一个解决方法是把 Button 的事件函数变为异步函数

另一个就是把你需要调用的异步函数变为普通的执行顺序,即非异步执行顺序

经过查阅,只需要一句:

var result = Task.Run(async() => await yourAsyncMethod()).Result;

对于没有返回值的异步函数:

Task.Run(async () => { await yourAsyncMethod(); }).Wait();

参考来源:
https://stackoverflow.com/questions/15149811/how-to-wait-for-async-method-to-complete/44578884#44578884


原网址: 访问
创建于: 2024-06-20 11:31:12
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论