【发布时间】:2013-08-16 00:32:38
【问题描述】:
Xamarin released 支持 async/await,这确实简化了移动平台中响应式 UI 的开发。从现在开始,我想利用它并通过使用 async/await 来提高我的代码的编程水平。
但是,由于我对 C# 比较陌生,并且在我无法在我的代码中找到可以调用 async 方法的“挂钩”之前没有使用过 async/await。我知道事件处理程序是典型的地方(发生 IoC 的地方),但想象一下以下场景:
我想在加载 ViewController 时启动后台任务(而不是在按下按钮时)。
async Task PerformMyTaskAsync ()
{
// ...
await ... // another async API
// ...
}
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// .. initialize UI
await PerformMyTaskAsync ();
}
显然我不能在ViewDidLoad 中等待PerformMyTaskAsync,因为ViewDidLoad 既不是异步方法也不是事件处理程序。
当视图控制器加载(或出现,无论如何)时启动后台任务的“替代”方法是什么?
【问题讨论】:
-
查看 Miguel 关于 Async blog.xamarin.com/csharp-async-on-ios-and-android的网络研讨会
-
我昨天看了现场直播。 Miguel 做了这么好的解释,但并没有完全涵盖我的要求。无论如何感谢您的链接。
标签: c# xamarin.ios xamarin async-await