异步/等待线程让我发疯。我对异步初始化的可能性做了很多研究。
问题就在这里。我试图根据当前应用程序状态将我的应用程序加载到特定页面。确定应用程序的状态。它包括扫描到数据文件夹。为了Storage API在UWP中使用。我必须在 Xamarin Forms 中创建async依赖项服务。
我在这里使用单例模式和一个AppManager类。
应用管理器.cs
public class AppManager{
public static AppManager Instance = new AppManager();
public List<Jobs> JobList = new List<Jobs>();
public async Task InitializeAsync(){
JobList.AddRange(await DependencyService.Get<IFileService>().GetJobs());
}
public bool JobExists(string jobName){
return JobList.Any(j => j.Name == jobName);
}
}
Run Code Online (Sandbox Code Playgroud)
当应用程序启动时,需要JobList首先从 Data 文件夹加载。然后查看JobList并确定要导航到哪个页面。
我当前想做的是从类的构造函数中调用下面的代码App。
应用程序.xaml.cs
InitializeComponent(); // Default
var appManager = AppManager.Instance;
appManager .InitializeAsync();
if(appManager .JobExists("JobA")){
MainPage = new PageA();
}else{
MainPage = new PageB(); …Run Code Online (Sandbox Code Playgroud)