xamarin - 是否在调用 MainPage 之前执行 OnStart() 中的所有内容(即使我使用覆盖异步)
问题描述
我的 App.Xaml.cs 中有这段代码
protected override async void OnStart()
{
App.DB.CreateTables();
App.DB.GetSettings();
App.DB.PopulateTables();
}
是否所有这三个方法都将在以下构造函数中的方法之前 100% 执行和完成:
public MainPage()
{
解决方案
由于 OnStart() 是异步的,并且您没有等待,因此,不能 100% 确定您会在执行它们之前导航到 MainPage。
如果这些方法与 UI 无关,您可以:
protected override async void OnStart()
{
Task.Run(async()=>{ await YourMethods(); }).Wait();
}
推荐阅读
- ruby-on-rails - Rails:排队电子邮件,直到用户让它发送
- javascript - 如何将数组中的所有表情放入嵌入中?- 不和谐.js
- ios - 使用操作来管理函数调用之间的不平衡
- apache - 是否可以重定向子域通配符
- javascript - 在单独的 AJAX 函数/API 调用中使用现有的 lat/lng 传单标记
- tornadofx - 有没有办法打印 TornadoFX 样式表?
- image-segmentation - 内置拟合不会在 keras 的自定义指标中传递正确的 y_true 和 y_pred 形状
- python - 带有字典数据的 Ansible 查找模块
- go - BrowserModProxy 未通过 golang 运行
- python - 在python中获取价值组件?