小编Ash*_*son的帖子

覆盖时异步无效

我知道方法的弊端,async void但我不完全确定在重写方法时最好的方法来解决问题.

说,我有以下代码:

protected override async void PageRefreshed()
{
    BoundDataField = await LoadDataFromWeb();
}
Run Code Online (Sandbox Code Playgroud)

我知道这是一件非常糟糕的事情,但对此最好的解决办法是什么?

  1. LoadDataFromWeb().ContinueWith(r => BoundDateField = r.Result);
  2. Task.Run(async ()=> await LoadDataFromWeb())).Wait;
  3. LoadDataFromWeb().Wait
  4. BoundDataField = LoadDataFromWeb.Result

我很确定3和4是真的没有,因为他们将阻止UI线程.我错过了另一种解决方案吗?

c# asynchronous

3
推荐指数
1
解决办法
216
查看次数

标签 统计

asynchronous ×1

c# ×1