单击按钮时运行异步任务的最佳方法?

时间:2019-07-17 19:46:57

标签: c# xamarin.forms

我有一些按钮会开始一些繁重的工作,这意味着当我单击该按钮时,我的应用程序会冻结。我想要按钮要做的是开始繁重的任务,然后继续执行而不必等待任务完成。最好的方法是什么?

我已经对整个Task概念做了一些尝试,但是我似乎无法正确实现它。

1 个答案:

答案 0 :(得分:0)

我的个人解决方案:通常,我先异步按钮,然后配置ConfigureAwait通话:

public DelegateCommand StartProcessCommand { get; set; }

在您的构造函数中:

StartProcessCommand = new DelegateCommand(async () => await OverrideLocation());


public async Task OverrideLocation()
{
      // you can use ConfigureAwait so it doesn't use the main thread
      await _booService.StopListeningAsync().ConfigureAwait(true);
}