C# Xamarin和UWP-What';异步文件打开的目的是什么?
我有一个Xamarin.Forms解决方案,它在UWP项目中具有持久性。现在,对于UWP,文件读取操作是异步的,这会导致我的程序在异步文件读取完成之前刷新自己。基本上,我有一个C# Xamarin和UWP-What';异步文件打开的目的是什么?,c#,asynchronous,xamarin,xamarin.forms,C#,Asynchronous,Xamarin,Xamarin.forms,我有一个Xamarin.Forms解决方案,它在UWP项目中具有持久性。现在,对于UWP,文件读取操作是异步的,这会导致我的程序在异步文件读取完成之前刷新自己。基本上,我有一个公共异步任务加载(Level-Level)来将级别信息读入自定义表。因此,当我使用新级别信息更新模型时: _model.NewGame(); _Size = _model.Size; 其中NewGame()最终调用从文件读取关卡信息: public async void NewGame() { ... _table =
公共异步任务加载(Level-Level)
来将级别信息读入自定义表
。因此,当我使用新级别信息更新模型时:
_model.NewGame();
_Size = _model.Size;
其中NewGame()
最终调用从文件读取关卡信息:
public async void NewGame()
{
...
_table = await _fileAccess.Load(_level);
....
}
现在我知道了,我不应该创建void async函数,但是文件加载是异步的,所以我也必须创建
NewGame()
async。但是如果我这样做,我最终不得不使默认的protectedoverride void OnStart()
async变为异步,我很确定这不是一个好办法。有没有办法不异步读取文件?使文件操作异步有什么意义?任何类型的IO都需要时间,可能会被其他操作阻止。您不希望在等待IO操作完成时阻止应用程序,因此使文件IO操作异步会有帮助。任何类型的IO都需要时间,可能会被其他操作阻止。您不希望在等待IO操作完成时阻止应用程序,因此使文件IO操作异步会有所帮助
这会导致我的程序在异步文件读取完成之前刷新自身
对。这是完全正常的
你需要设计你的应用程序在加载时的样子,同步初始化到“加载”状态,并在启动时启动异步文件读取
文件读取完成后,您需要使用该数据更新应用程序的视图
我有一个能帮上忙的方法
这会导致我的程序在异步文件读取完成之前刷新自身
对。这是完全正常的
你需要设计你的应用程序在加载时的样子,同步初始化到“加载”状态,并在启动时启动异步文件读取
文件读取完成后,您需要使用该数据更新应用程序的视图
我有一个能帮上忙的方法