在移动应用程序中,我有一个可能很长的异步操作(在异步函数中分组的多个异步网络调用).
_myClassField = myClient.DoANumberOfNetworkCallsAsync();
我在应用程序启动时执行调用,然后显示启动画面和欢迎屏幕,并且仅在第一次用户交互时显示(例如:按下按钮)我最终等待任务并让用户等待响应未准备好.
public async Task
可以多次调用此方法,并且可以同时形成UI和非UI线程.
这可能是问题的根源还是有效的模式?
可以根据需要多次等待完成的任务,并且它总是会产生相同的结果.
您也可以根据需要拨打电话Wait()
或Result
多次,任务完成后也不会阻止.
不过,我会改变你的代码:
public Task
这样,编译器就不必生成状态机,并且每次调用属性时都不会实例化.